# 容器本身的属性
# display
- grid:块级盒子
- grid-inline:行级盒子
# grid-template-cloumns,grid-template-rows
- 100px 1fr:fr可以自适应剩下的空间
- repeat():重复次数repeat(3, 33.33%)
- auto-fill:单元格固定大小,容器不确定,但尽可能容纳多的单元repeat(auto-fill, 100px)
- minmax():长度范围的最小值和最大值minmax(100px, 1fr)
- auto:由浏览器自己决定长度
# grid-gap
<grid-row-gap> <grid-row-gap>
- 行间距、列间距
# grid-template-areas
自行设定位置
.contain{ grid-template-areas: "fw . . . ." "dz rz yyr zs jl" "lx rz yyr zs jl" "cc . . . ."; } .fw { grid-area: fw; color: gray; } .dz { grid-area: dz; } .lx { grid-area: lx; } .cc { grid-area: cc; } .rz { grid-area: rz; } .yyr { grid-area: yyr; } .zs { grid-area: zs; } .jl { grid-area: jl; }
# grid-auto-flow
划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是"先行后列",即先填满第一行,再开始放入第二行。
- column:先列后行
- row :先行后列
- row dense:紧密填满,尽量不出现空格
# justify-items(水平),align-item(垂直),place-items(结合)
项目的子元素在项目这个容器的位置
- start:项目的内容对齐起始边缘
- end:项目内容对齐结尾边缘
- center:项目内容居中
- stretch:项目内容拉伸
# justify-content,align-content,palce-content
所有项目占容器的位置
- start:对齐容器的起始边框
- end:对齐容器末尾边框
- center:容器内部居中
- stretch:拉伸占满
- space-around:每个项目两侧间隔相等,项目之间的间隔比项目容器的间隔大一倍
- space-between:项目之间间隔相等,项目与容器无间隔
- space-evenly:项目之间、项目与容器之间间隔相等
# grid-auto-columns,grid-auto-rows
一些项目的指定位置,在现有网格的外部。比如网格只有3列,但是某一个项目指定在第5行。这时,浏览器会自动生成多余的网格,以便放置项目。该属性指定多出来项目的大小
# 设置项目属性
# grid-column-start 属性, grid-column-end 属性, grid-row-start 属性, grid-row-end 属性
项目的位置是可以指定的,具体方法就是指定项目的四个边框,分别定位在哪根网格线。
.item-1 { grid-column-start: 2; grid-column-end: 4; }
# grid-column,grid-row
grid-column:1/3
等同于grid-column-start:1,grid-clumn-end:3
# justify-self 属性, align-self 属性, place-self 属性
justify-self
属性设置单元格内容的水平位置(左中右),跟justify-items
属性的用法完全一致,但只作用于单个项目。
align-self
属性设置单元格内容的垂直位置(上中下),跟align-items
属性的用法完全一致,也是只作用于单个项目。