本篇详细介网格属性表中的各个属性值和其用法。
grid-column-start / grid-column-end /grid-row-start / grid-row-end
- 定义:指定分隔线使网格项在网格容器内定位。
grid-column-start
和grid-row-start
确定网格项起始位置,grid-column-end
,grid-row-end
确定网格项结束位置。 - 值:
- \
:分隔线序号,或者分隔线名称 - span\
:网格项从起始分隔线走过的网格轨道数量 - span\
:网格项会扩展到给定分隔线名字的位置 - auto:自动定位和扩展,默认会扩展一个网格轨道宽度(长度)
.item {
grid-column-start: <number> | <name> | span <number> | span <name> | auto
grid-column-end: <number> | <name> | span <number> | span <name> | auto
grid-row-start: <number> | <name> | span <number> | span <name> | auto
grid-row-end: <number> | <name> | span <number> | span <name> | auto
}
- \
- 示例:
.item-a {
grid-column-start: 2;
grid-column-end: five;
grid-row-start: row1-start
grid-row-end: 3
}
.item-b {
grid-column-start: 1;
grid-column-end: span col4-start;
grid-row-start: 2
grid-row-end: span 2
}
- 如果没有指定
grid-column-end / grid-row-end
,那么网格项会默认占用一格网格轨道。 - 可以指定
z-index
控制网格项重叠。grid-column / grid-row
- 定义:
grid-column-start / grid-column-end /grid-row-start / grid-row-end
的对应缩写形式。 - 值:
- \
/ \ :每一项都接受其原本的值类型(见上) .item {
grid-column: <start-line> / <end-line> | <start-line> / span <value>;
grid-row: <start-line> / <end-line> | <start-line> / span <value>;
}
- \
- 示例:
.item-c {
grid-column: 3 / span 2;
grid-row: third-line / 4;
}
- 如果不指定分隔线结束位置,那么网格项默认占1个网格轨道。
grid-area
- 定义:定义一组网格项的名称,这样网格容器的
grid-template-areas
属性就能使用它们了。这个属性甚至可当做grid-row-start + grid-column-start + grid-row-end + grid-column-end
的缩写。 - 值:
- \
:你所选的名称 - \
/ \ / \ / \ :数字或分隔线名称 .item {
grid-area: <name> | <row-start> / <column-start> / <row-end> / <column-end>;
}
- \
- 示例:
给网格项设置一个名称
作为.item-d {
grid-area: header
}
grid-row-start + grid-column-start + grid-row-end + grid-column-end
属性的缩写形式.item-d {
grid-area: 1 / col4-start / last-line / 6
}
justify-self
- 定义:将网格项内的内容沿【行】对齐(x轴对齐),而
align-self
是与【列】对齐(y轴对齐)。这个属性会影响每一个网格项的内容。 - 值:
- start:将内容沿左侧对齐
- end:将内容沿右侧对齐
- center:将内容左右居中对齐
- stretch:拉伸至网格项的宽度(默认)
- 示例:
.item-a {
justify-self: start;
}
.item-a {
justify-self: end;
}
.item-a {
justify-self: center;
}
.item-a {
justify-self: stretch;
}
- 你可以通过网格容器的
justify-items
属性一次性设置所有的网格项。align-self
- 定义:将网格项内的内容沿【列】对齐(y轴对齐),而
justify-self
是与【行】对齐(x轴对齐)。这个属性会影响每一个网格项的内容。 - 值:
- start:将内容沿顶部对齐
- end:将内容沿底部对齐
- center:将内容垂直居中对齐
- stretch:拉伸至网格项的高度(默认)
.item{
align-self: start | end | center | stretch;
}
- 示例:
.item-a {
align****-self: start;
}
.item-a {
align-self: end;
}
.item-a {
align-self: center;
}
.item-a {
align-self: stretch;
}
- 你可以通过网格容器的
align-items
属性一次性设置所有的网格项。