另一个经典款:12 跨度网格。您可以使用 repeat()
函数在 CSS 中快速编写网格。对网格模板列使用 repeat(12, 1fr);
可生成 12 列,每个 1fr
列有 12 列。
.parent {
display: grid;
grid-template-columns: repeat(12, 1fr);
}
.child-span-12 {
grid-column: 1 / 13;
}
现在,您已有了一个 12 列的轨迹网格,可以将子元素放置在网格上。一种方法是使用网格线放置它们。例如,grid-column: 1 / 13
将从第一行到最后一行(第 13 行),跨越 12 列。grid-column: 1 / 5;
会跨越前四项。
另一种编写方式是使用 span
关键字。使用 span
,您可以设置起始行,然后设置该起点跨越的列数。在本例中,grid-column: 1 / span 12
等同于 grid-column: 1 / 13
,而 grid-column: 2 / span 6
等同于 grid-column: 2 / 8
。
.child-span-12 {
grid-column: 1 / span 12;
}
HTML
<div class="parent">
<div class="span-12 section coral">Span 12</div>
<div class="span-6 section green">Span 6</div>
<div class="span-4 section yellow">Span 4</div>
<div class="span-2 section blue">Span 2</div>
</div>
CSS
.parent {
display: grid;
grid-template-columns: repeat(12, 1fr);
}
.span-12 {
grid-column: 1 / span 12;
}
.span-6 {
grid-column: 1 / span 6;
}
.span-4 {
grid-column: 4 / span 4;
}
.span-2 {
grid-column: 3 / span 2;
}
/* centering text */
.section {
display: grid;
place-items: center;
text-align: center
}