Используя базовую XY-сетку и, в частности, вложенную grid-y внутри ячейки, я хочу использовать класс .auto в родительской ячейке для равномерного распределения высоты ячейки, в случае grid-y с 2 ячейками.это будет 50% / 50%.
Это прекрасно работает, если содержание ячейки сетки-y достаточно низкое, чтобы поместиться внутри ячейки, не сдвигая границы.Однако, если содержимое выше, оно обрезается.
Обходной путь для этого состоит в том, чтобы установить для flex-based для класса .auto значение «auto» вместо «0px», которое является предопределенным значением в Foundation css..
Это прекрасно работает, если содержимое достаточно велико, чтобы раздвинуть границу ячейки, но если оно меньше, то высота родительской ячейки распределяется неравномерно.
Примечание: использование«.grid-y» в каждой ячейке должен иметь возможность располагать содержимое центра ячейки вертикально.См. Вертикальное выравнивание содержимого внутри ячейки XY-Grid
<div class="grid-container">
<div class="grid-x">
<div class="cell medium-6 grid-y align-middle align-center" style="background:green;">
<div style="background: blue; height: 300px">
Element A
</div>
<div style="background: violet; height: 300px">
Element B
</div>
</div>
<div class="cell medium-6 grid-y align-middle align-center" style="background:red;">
<!-- Nested Grid -->
<div class="grid-y" style="min-height: 100%; width: 100%;">
<div class="cell auto grid-y align-middle align-center" style="background:yellowgreen;">
<div style="background: yellow; height: 50px">
Element C
</div>
<div style="background: gray; height: 50px">
Element D
</div>
</div>
<div class="cell auto grid-y align-middle align-center" style="background:darkcyan;">
<div style="background: yellow; height: 70px">
Element E
</div>
<div style="background: gray; height: 70px">
Element F
</div>
</div>
</div>
</div>
</div>
</div>
Модифицированный CSS:
.grid-y > .cell.auto {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
}
вместо исходного кода Foundation:
flex: 1 1 0px