Grid Layout -- Item
css_layout
Grid Item用法
主要属性:
-
grid-column-start grid-column-end grid-row-start grid-row-end -
grid-column grid-row - grid-area
- justify-self
- align-self
- place-self
grid-column-start | grid-column-end | grid-row-start | grid-row-end
在网格布局中, 设置特定的
行/列来设置一个Grid Item的位置grid-column-start/grid-row-start设置Item的开始位置,grid-column-end/grid-row-end设置结束位置
grid-column-end / grid-row-end 如果没有设置, default 为 span 1. Item 可以重叠, 我们可以使用 z-index 来控制重叠的顺序.
取值:
line <number>/<name>– 行/列 的编号或者 行/列 的名称span <name>–Item跨域的Cell名字.span <number>–Item将跨越的Cell数量.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 | grid-row
- grid-column 是
grid-column-start+grid-column-end缩写 - grid-row 是
grid-row-start+grid-row-end缩写 - 如果没有设置,
default: span 1
取值:
<start-line> / <end-line> – 设置开始位置, 和跨域 cell 的数量.
例子:
.item-c {
grid-column: 3 / span 2;
grid-row: third-line / 4;
}
|  |
grid-area
在 container 可以通过 grid-template-areas 设置布局, item 设置此属性, 可以轻松放置到指定的区域.
取值:
<name>- 自定义区域的名字<row-start>/<column-start>/<row-end>/<column-end>- 行数 / 行名
例子:
.container {
grid-template-areas:
". | . | 300px | header | header"
". | . | 300px | header | header"
". | . | 300px | header | header";
}
.item-d {
grid-area: header
}
/* It's the same as above */
.item-d {
grid-area: 1 / col4-start / last-line / 6
}

justify-self
设置 cell 中的 item 对齐方式.
取值:
start-cell内,item左端对齐end-cell内,item右端对齐center-cell内,item居中stretch- 填满整个cell
例子:
.item-a {
justify-self: start;
}

.item-a {
justify-self: end;
}

.item-a {
justify-self: center;
}

.item-a {
justify-self: stretch;
}

align-self
设置 cell 中的 item 对齐方式.
取值:
start-cell内,item上端对齐end-cell内,item下端对齐center-cell内,item居中stretch- 填满整个cell
.item-a {
align-self: start;
}

.item-a {
align-self: end;
}

.item-a {
align-self: center;
}

.item-a {
align-self: stretch;
}

place-self
同时设置 align-self 和 justify-self
例子:
取值:
auto– 默认值<align-self>/<justify-self>– 如果justify-self缺少, 会默认取align-self的值.
.item-a {
place-self: center;
}

.item-a {
place-self: center stretch;
}
