Mam problem z tym scenariuszem w Firefoksie. #pager przyjmuje szerokość swoich dzieci. Jednak w Chrome przyjmuje szerokość rodzica. Jak mogę zrobić # item-list z szacunkiem dla szerokości jego rodzica w Firefoksie?Szerokość flexu CSS 100% Firefox
spójrz! https://jsfiddle.net/owmpatbh/2/
HTML:
<div id="wrapper">
<div id="sidebar"></div>
<div id="main">
<div id="content">
<p id="stuff">blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah</p>
</div>
<div id="pager">
<div id="item-list">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
</div>
</div>
CSS:
#wrapper {
display: flex;
width: 100%;
height: 100%;
}
#sidebar {
overflow: auto;
flex: 0.25;
border:3px solid green;
min-height: 200px;
}
#main {
display: flex;
flex: .75;
flex-direction: column;
border:3px solid orange;
}
#content {
position: relative;
width: 100%;
flex: 0.85;
border: 3px solid blue;
}
#pager {
display: flex;
position: relative;
width: 100%;
background-color: #fff;
border: 3px solid pink;
flex: 0.15;
}
#item-list {
border: 1px solid black;
width: 100%;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
.item {
display: inline-block;
padding: 5px;
width: 200px;
height: 200px;
background-color: red;
}
#stuff {
height: 200px;
}
*{
margin: 3px;
}
Z jakiegoś powodu nie wydaje się, że podoba się ustalona szerokość 200px. nie wiesz, dlaczego jeszcze – redbmk
Ponieważ używasz flex, nie powinieneś używać "width: 100%" w dowolnym miejscu. Wyprowadzenie go nie psuje niczego w Chrome ani nie powoduje pogorszenia w firefoxie. Wydaje się, że Firefox chce mieć stałą szerokość dla '# item-list', ale znowu nie jestem pewien dlaczego. Wydaje się, że nie chce on prawidłowo obsługiwać dzieci z blokami śródliniowymi (a może zachowanie nie jest jeszcze dobrze zdefiniowane?). – redbmk