【发布时间】:2020-05-29 01:40:15
【问题描述】:
当网格具有固定的宽度和高度,并且网格的后代的宽度或高度大于网格的宽度或高度时,后代会强制网格“增长”以适应它。在以前的 Chrome 版本(80 之前)和最新版本的 Firefox(撰写本文时为 73.0)中,网格的后代尊重网格的边界。我查看了此更新的release log,似乎找不到任何提及对grid 或grid-template-rows/columns 的更改。
下面是重现问题的最小 sn-p。
<div style="
background-color: lightgray;
display: grid;
grid-column-gap: 20px;
grid-template-areas:
'header header'
'form chart'
'footer chart';
grid-template-columns: minmax(250px,1fr) 2fr;
grid-template-rows: 1fr 5fr 1fr;
height: 330px;
padding: 20px;
width: 690px;
">
<div style="background: red; grid-area: header;"></div>
<div style="background: green; grid-area: form;"></div>
<div style="background: blue;grid-area: chart">
<div style="height: 500px;"></div>
</div>
<div style="background: purple; grid-area: footer;"></div>
</div>
我的问题是,这是一个 chrome 错误,还是这个 chrome 与 css 网格规范对齐?
【问题讨论】:
-
我无法了解规范,但我看到了类似的行为。 Safari 和 Firefox 的行为都是正确的,因此 Chrome 似乎要么违反规范,要么规范不明确。问题似乎是 Chrome 的布局引擎只考虑跨两行的 div 中第一个“行”的大小,而不是在两组行约束之间分布可用高度。我会说值得向 Chromium 提交错误
-
感谢您查看 @MattD,我已与 Chromium 团队一起打开 a bug,并将随着错误的进展更新此问题
标签: html css google-chrome css-grid