Вот моя проблема:Flexbox как иметь элементы изменения размера как по горизонтали, так и по вертикали, сохраняя высоту
У меня есть 3 контейнера внутри контейнера с содержимым внутри этих контейнеров.
Я хочу, чтобы каждый из этих контейнеров заполнял любую оставшуюся комнату, если удаляться как по вертикали, так и по горизонтали.
Я использую flexbox с flex-flow: row wrap
, и это отлично работает, скажем, мы удаляем один из двух нижних контейнеров.
Для того чтобы их размер был изменен по вертикали, я использую свойство auto высоты и, как ожидается, элемент контейнера заполняет оставшуюся высоту его контейнера.
<!DOCTYPE html>
<html>
<head>
<style>
div{border: 1px solid black}
html, body{height: 100%; width: 100%;}
#container1{
width: 100%;
height: 100%;
display: flex;
flex-flow: row wrap;
}
#subContainer3, #subContainer2{
flex: 1 49%;
}
#subContainer1{
flex: 1 100%;
}
.content{
background-color: lightgray;
height: 90%;
}
</style>
</head>
<body>
<div id="container1">
<div id="subContainer1">
<div class="content"></div>
</div>
<div id="subContainer2">
<div class="content"></div>
</div>
<div id="subContainer3">
<div class="content"></div>
</div>
</div>
</body>
</html>
Однако, поскольку я не установлю явную высоту суб контейнеров, все содержание в них не сможет быть процент от суб контейнеров.
Как достичь желаемой цели: изменить размеры субамба как в строках, так и в столбцах и в то же время иметь их содержание в процентах от их высоты?
**** Примечание ****
В качестве дополнительного комментария, в то время как это может быть очевидным для некоторых, любая высота определяется гибкой коробки по-прежнему будет непризнанным любого дочернего DIV, пытающегося использовать высоту в процентах , Например, если наш контент делится на то, где у них есть дети, которые хотели бы быть% от их родительской высоты, нам нужно было бы использовать flex-box в направлении столбца, чтобы установить это вместо% height.
Я думаю, что 'height: 90%;' не будет работать здесь, поскольку наибольшее 'content' определяет высоту внешнего контейнера и строку flex, и вы говорите' height: 90% 'самого себя? –
Извините, я знаю, что высота 90% не будет работать, я просто иллюстрирую проблему с кодом. Я хочу решение, в котором я могу поддерживать высоту 90% и в то же время иметь возможность расширения div субконтейнеров вертикально. Когда я устанавливаю высоту в subContainer, высота контента (90%) будет работать, но тогда, если я удалите, скажем, div из tio, остальные divs не будут расширяться, чтобы заполнить высоту. –
Итак, есть братья и сестры '.content'? И вы хотите, чтобы 'content' увеличивался пропорционально (9x высота) других элементов в' subContainer'? Конструкция, которую вы хотите, неясна =/ –