Когда сетка имеет фиксированную ширину и высоту, а потомок сетки имеет ширину или высоту, которые больше, чем у сетки, потомок заставляет сетку «расти», чтобы соответствовать ей. В предыдущих версиях Chrome (до 80) и в последней версии Firefox (73.0 на момент написания этой статьи) потомки сетки уважали границы сетки. Я посмотрел журнал релизов для этого обновления и не могу найти упоминаний об изменениях grid
или grid-template-rows/columns
.
- Ожидаемое поведение ( Предварительно Chrome 80 / Firefox)
- Фактическое поведение (Chrome 80)
Ниже приведен минимальный фрагмент для воспроизведения проблемы.
<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 spe c?