返回
CSS Grid布局(4):子项属性(1)网格线属性
前端
2024-01-05 21:17:40
CSS Grid布局的子项属性允许我们控制子项在网格中的位置和大小。这些属性包括:
grid-column-start
:表示当前子项的左边框,从哪一条垂直网格线开始。grid-column-end
:表示当前子项的右边框,到哪一条垂直网格线结束。grid-row-start
:表示当前子项的上边框,从哪一条水平网格线开始。grid-row-end
:表示当前子项的下边框,到哪一条水平网格线结束。
这些属性可以指定一个线号,也可以指定一个长度值。如果指定了一个线号,则子项的边框将与该线对齐。如果指定了一个长度值,则子项的边框将距离该线指定长度的距离。
例如,以下代码将创建一个2x2的网格,并指定第一个子项位于第一行第一列,第二个子项位于第一行第二列,第三个子项位于第二行第一列,第四个子项位于第二行第二列:
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
}
.item1 {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 2;
}
.item2 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
.item3 {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 3;
}
.item4 {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 2;
grid-row-end: 3;
}
输出结果:
+---+---+
| 1 | 2 |
+---+---+
| 3 | 4 |
+---+---+
子项属性还可以用于控制子项的跨度。跨度是指子项在网格中占据的列数或行数。跨度可以通过grid-column-span
和grid-row-span
属性来指定。
例如,以下代码将创建一个2x2的网格,并指定第一个子项跨两列,第二个子项跨两行:
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
}
.item1 {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
.item2 {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 4;
}
输出结果:
+---+---+
| 1 | 2 |
+---+---+
| | 2 |
+---+---+
子项属性是CSS Grid布局中非常重要的一个概念。通过熟练掌握这些属性,我们可以创建出各种各样的复杂布局。