【发布时间】:2020-02-05 15:40:38
【问题描述】:
我有一个 2 列和 3 行的 CSS 网格。由于角度 ngif 子句,第三行内容并不总是存在。图像出现在跨越 3 行的第一列中。尽管如此,我在 Chrome(80.0.3987.87,这是我发布的最新稳定版)和 Firefox 中得到了 2 个不同的结果。
有没有办法控制行,使其表现得像在 Firefox 中一样,即当图像高度大于 2 个第一行高度的总和时,第三行会增长。
.grid {
width:400px;
display:grid;
grid-template-columns: 40px 1fr;
grid-template-rows: minmax(0, auto) minmax(0, auto) minmax(0, 1fr);
}
.image {
width:40px;
height:100px;
grid-column:1;
grid-row:1 / span 3;
background-color: #f00;
}
.text1 {
grid-column:2;
grid-row:1;
}
.text2 {
grid-column:2;
grid-row:2;
}
<div class="grid">
<div class="image"></div>
<div class="text1">Text 1</div>
<div class="text2">Text 2</div>
</div>
这是您可以在 Chrome 和 Firefox 中查看的codepen。
这里有一张图片来显示差异:
如您所见,Chrome 增加了第 1 行和第 2 行的高度(第 3 行保持为 0)。 Firefox 只增加 row2 的高度,即最后一个可见的内容行。
请注意,我尝试将 grid-template-rows 设置为“minmax(0, auto) minmax(0, auto) 1fr”,但随后第 3 行会有一个奇怪的高度,使网格高度大于其内容。
更新:啊!能够在以前的 Chrome 版本 (79) 上尝试它,这次我得到了与 Firefox 相同的结果。所以似乎80改变了它。这里有人可以确认一下吗?
【问题讨论】:
-
在我的 OP 中添加了一张图片
-
我在 Chrome 上看到了 firefox 结果。你能添加你的版本吗?
-
添加了我的 chrome 版本,这是我发布的最新版本。
-
这很奇怪:在我的计算机上,我在 Firefox 和 Chrome 中得到完全相同的结果...您的浏览器是最新的吗?您是否在其中一个上安装了一个您不会在另一个上安装的扩展?
-
@NicolasCadilhac 我将我的 chrome 更新到 80,我看到了差异。
标签: css google-chrome firefox css-grid chromium