【发布时间】:2015-06-30 05:50:18
【问题描述】:
我正在尝试创建一个网格布局,以调整所有子 div 的大小以匹配组中最高的 div。例如,我有一个 2x2 网格,网格中的每个 div 都包含一些文本。包含最多文本的 div 最高,应推动其他 3 个 div 的高度以匹配。
我可以使用display: flex; 和flex-wrap: wrap; 使每行的 div 高度匹配,但我需要所有行的高度匹配。
这可以通过 CSS 来完成,还是我需要求助于 jQuery?
<section class="grid two">
<div>
<div>
<p>The top left div</p>
</div>
</div>
<div>
<div>
<p>The top right div</p>
</div>
</div>
<div>
<div>
<p>The bottom left div</p>
</div>
</div>
<div>
<div>
<p>The bottom right div</p>
<p>this has more text, and should casue the rest to strecth to match its height.</p>
</div>
</div>
</section>
而我目前的 CSS 是:
.grid {
display: flex;
flex-wrap: wrap;
}
.grid > div {
box-sizing: border-box;
display: flex;
flex-directon: column;
padding: 10px;
width: 50%;
}
.grid > div > div {
background: #EEE;
flex: 1 1 auto;
width: 100%;
}
这是一个小提琴:http://jsfiddle.net/g41xas6w/
更新 1:我不能使用固定高度有两个原因:
- 客户端将能够编辑此文本,因此我无法始终知道高度是多少。
- 这是一个响应式网站,所以我必须进行大量的休息,以确保内容始终以正确的高度显示。
【问题讨论】:
标签: javascript jquery css flexbox