【发布时间】:2022-01-24 00:31:15
【问题描述】:
我需要将 4 个 div 容器放在一个 2 x 2 矩阵中。列的宽度必须相等(因此是固定的),而行的高度必须适应单元格的内容(因此是可变的)。
只要标记结构看起来像这样,这很简单:
<div class="wrapper">
<div class="cell a1">...</div>
<div class="cell a2">...</div>
<div class="cell b1">...</div>
<div class="cell b2">...</div>
</div>
相应的 CSS 如下所示:
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
}
不幸的是,我的标记(我无法轻易更改)包含嵌套标记结构中的单元格:
<div class="wrapper">
<div class="container">
<div class="cell a1">...</div>
<div class="cell a2">...</div>
</div>
<div class="container">
<div class="cell b1">...</div>
<div class="cell b2">...</div>
</div>
</div>
只要两行的高度可以相等,将 .container 声明为辅助网格就可以解决问题。但是由于必须根据单元格内容调整行高,所以这行不通。
有没有办法将所有四个 div.cell 放在 div.wrapper 定义的同一个网格中,尽管它们不是直接子元素?
【问题讨论】: