Skip to main content

Grid

Grid 是一种基于网格的布局系统,可以实现下图的布局。

grid

<div class="container">
<div class="header">header</div>
<div class="menu">menu</div>
<div class="main">main</div>
<div class="right">right</div>
<div class="footer">footer</div>
</div>

要使用 Grid,需要将 display 属性的值更改为 grid。

.container {
display: grid;
}

通过 grid-template-columns 和 grid-template-rows 属性来定义网格中的列和行。

通过测量,将 columns(列)分为6个部分,将 row(行)分为3个部分。

fr 单位会根据可用空间的剩余部分来分配大小,也可以用百分比替代。

.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
}

grid-line

header 跨越了6列,序号 1~7。

header 跨越了1行,序号 1~2。

.header {
grid-column: 1/7;
grid-row: 1/2;
}

menu、main、right、footer 同理。

.menu {
grid-column: 1/2;
grid-row: 2/4;
}

.main {
grid-column: 2/5;
grid-row: 2/3;
}

.right {
grid-column: 5/7;
grid-row: 2/3;
}

.footer {
grid-column: 2/7;
grid-row: 3/4;
}