本文参考资料:A Complete Guide to Grid
- grid是一种二维空间布局,特别适合不规则布局。
gird属性较多,这里只简要列举出一部分
一些基本概念
Grid容器(Grid Container)和Grid条目(Grid Item)
<div class="container">
<div class="item item-1"></div>
<div class="item item-2"></div>
<div class="item item-3"></div>
</div>
Grid内部
- Grid线(Grid Line)
- Grid元件(Grid Cell)
- Gird轨迹(Grid Track)
- Grid区域(Grid Area)
语法
指定container
.container {
display: grid | inline-grid;
}
设置每个行的高度/每列的宽度
.container {
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}
效果如下:
还可以使用 fr
“份儿”:
.container {
grid-template-columns: 1fr 50px 1fr 1fr;
}
定义一片区域
.item-a {
grid-area: header;
}
.item-b {
grid-area: main;
}
.item-c {
grid-area: sidebar;
}
.item-d {
grid-area: footer;
}
.container {
display: grid;
grid-template-columns: 50px 50px 50px 50px;
grid-template-rows: auto;
grid-template-areas:
"header header header header"
"main main . sidebar"
"footer footer footer footer";
}
调整空隙
.container {
grid-template-columns: 100px 50px 100px;
grid-template-rows: 80px auto 80px;
grid-column-gap: 10px;
grid-row-gap: 15px;
}
其他语法可以现用现学,参考本文开头处列出的网址。(有空我会翻译一份中文版)