CSS Gird布局教程指南

2020-04-27 07:13:15易采站长站整理

 网格空间

四个网格线包围的总空间,网格空间可以由任意数量的网格单元组成。这里是行网格线1和3之间的网格空间, 以及列网格线1和3

 网格容器的属性

display

将元素定义为网格容器, 并未其内容建立新的网格格式上下文 值:

gird: 生成块级网格
inline-grid: 生成内联网格
subgrid: 如果你的网格容本身是一个网格项目(即嵌套网格), 你可以使用这个属性来表明你想继承他父母的行/列而不是他自己的。


.container{
display: grid | inline-grid | subgrid
}

grid-template-columns, grid-template-rows

使用空格分隔的值列表来定义网格的列和行。这些值表示轨道大小,他们之间的空间表示网格线 值:

: 可以是网格中的空闲空间的长度,百分比, 或分数

: 线的名称 例如, 在网格轨迹之间流出空白区域时, 网格线会自动分配数字名称


.container{
display: grid;
grid-template-columns: 40px 50px auto 50px;
grid-template-rows: 25% 100px auto;
}

但是你可以选择明确命名行,请注意行名称的括号语法


.container{
grid-template-columns: [first] 40px [line2] 50px [line2] auto [line3] auto [col4-start] 50px 5px;
grid-template-rows: [row1-start] 25% [row1-end] 100px [thrid-line] auto [last-line];
}

请注意,一行/列可以有多个名字,例如这里第二列将有两个名字


.contaienr{
grid-template-rows: [row1-start] 25% [row1-end row2-start] 25% [row2-end]}

如果您的定义包含重复的部分,您可以使用repeat()符号来简化


.container{
grid-template-columns: repeat(3, 20px [col-start]) 5%;
}

相当于这个


.container{
grid-template-columns: 20px [col-start] 20px [col-start] 20px [col-start] 5%;
}

设置单位为

fr
网格会允许您设置的网格轨道大小为网格容器的自由空间的一小部分,例如,这会将每个项目设置为容器宽度的三分之一


.container {