Я использую flexboxes в Google Chrome (только этот браузер должен поддерживаться) для создания динамического макета. У меня есть n дочерних элементов в одном элементе div, который должен разделять все пространство с одинаковым соотношением. Это работает без проблем из-за новых внедренных гибких ящиков. Но мне также пришлось установить высоту каждого внутреннего div на 0. Если я хочу растянуть элемент внутри этого div до 100% высоты, он использует заданное значение 0 вместо любого вычисленного значения. Поскольку я выбрал flex-box, чтобы предотвратить использование javascript, я предпочел бы остаться таким. Есть ли другой способ сделать высоту изображения заполняющим div?Использование процентных значений для заполнения элементов flexbox
А вот код (протестирован только в Google Chrome):
HTML
<div class="flexbox">
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
<div><img src="chrome-logo.png" /></div>
</div>
CSS
.flexbox {
display:-webkit-box;
-webkit-box-orient:vertical;
height:300px;
width:200px;
}
.flexbox > div {
-webkit-box-flex:1;
height:0;
border:solid 1px #000000;
}
.flexbox > div > img {
height:100%;
}
The code to watch in the browser
Зачем вам нужно установить высоту в 0? Если вы не собираетесь явно задавать высоту, что вы ожидаете, что «100%» будет на сто процентов? – robertc
Я сделал это, чтобы разделить все доступное пространство на части того же размера. В противном случае назначается только оставшееся пространство (без содержимого). Это поведение, как использование функции flex, описанной в этой почте: [http://lists.w3.org/Archives/Public/www-style/2011Nov/0770.html](http://lists.w3.org/ Архивы/Публикация/www-style/2011Nov/0770.html) –