Flexbox Grid с равными вложенными рядами между столбцами
Я использую библиотеку CSS сетки Flexbox - flexboxgrid.com и делаю макет из трех столбцов. В этом трехколоночном макете я буду делать вложенные строки в каждом столбце.
Я хочу добиться того, чтобы вложенные строки также были равны по высоте всем остальным столбцам.
Вот чего я сейчас достигаю:
Текущее достижение Я хочу, чтобы раздел 4 был точно выровнен с разделом 2.
Я также сделал JSFiddle, чтобы продемонстрировать, чего я сейчас достигаю.
HTML:
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-no-gutter fullWidthBackgroundImageHome">
<div class="box">
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<div class="box">Section1<br/><br/><br/></div>
</div>
</div>
<br/>
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<div class="box">Section2<br/><br/><br/></div>
</div>
</div>
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-no-gutter fullWidthBackgroundImageHome">
<div class="box">
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<div class="box">Section3<br/><br/><br/><br/></div>
</div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<div class="box">Section4<br/><br/><br/></div>
</div>
</div>
</div>
</div>
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 col-no-gutter fullWidthBackgroundImageHome">
<div class="box">
<div class="row">
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4">
<div class="box">Section5</div>
</div>
</div>
</div>
</div>
</div>
Любое решение о том, как этого добиться?
1 ответ
@Paulie_D правильно в своем предложении использовать CSS-сетку для этого. Как вы можете видеть, я добавил разрывы строк для 1-го, 2-го и 4-го элемента, и весь 2-й ряд адаптировал их индивидуальные высоты. Надеюсь, это поведение, которое вы хотели:
body {
margin: 40px;
}
.wrapper {
display: grid;
grid-template-columns: 100px 100px 100px;
grid-gap: 10px;
background-color: #fff;
color: #444;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 20px;
font-size: 150%;
}
.c {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
.d {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 2;
grid-row-end: 3;
}
.f {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 2;
grid-row-end: 3;
}
.a {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 2;
}
.b {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 3;
}
.e {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 2;
}
<div class="wrapper">
<div class="box a">A<br/><br/><br/></div>
<div class="box b">B<br/><br/><br/></div>
<div class="box c">C</div>
<div class="box d">D<br/><br/><br/><br/><br/></div>
<div class="box e">E</div>
<div class="box f">F</div>
</div>