Grid布局
2019-12-09 本文已影响0人
意蜀
Grid 布局
类似于flex布局
,当你给一个容器加上这条display:grid
,就意味着它是一个容器cointainer
,也就意味着它的后代的子元素也就成为该容器的member
。
容器里面的水平区域称为"行"row
,垂直区域称为"列"column
。
注意:设为网格布局以后,容器子元素(项目)的float、display: inline-block、display: table-cell、vertical-align和column-*等设置都将失效。
一、grid-template-columns
& grid-template-rows
grid-template-columns
:定义每一列的列宽
grid-template-rows
:定义每一行的行高
效果
ps:
单位:除了熟悉的
px %
,还新增了一个fr
,它就是一个比例的单位比如
grid-template-columns: 1fr 2fr;
,这个语句就表示者是前者的两倍。
二、grid-row-gap
grid-column-gap
grid-gap
grid-row-gap
:设置行与行的间隔(行间距)
grid-column-gap
:设置列与列的间隔(列间距)
grid-gap
:是grid-row-gap
和 grid-column-gap
的合写
三、grid-template-areas
grid-template-areas
:用于定义区域。
四、grid-auto-flow
grid-auto-flow
:放置顺序,默认值为row
,即先行后列,效果如上图
-
grid-auto-flow :column
设置先列后行
效果 -
grid-auto-flow :row dense
:表示"先行后列",并且尽可能紧密填满,尽量不出现空格 -
grid-auto-flow:column dense
:表示"先列后行",并且尽量填满空格
五、justify-items
align-items
place-items
justify-items
:设置单元格内容的水平位置(左中右)
align-items
:设置单元格内容的垂直位置(上中下)
他俩的取值一样,有:
-
start
:对齐单元格的起始边缘。 -
end
:对齐单元格的结束边缘。 -
center
:单元格内部居中。 -
stretch
:拉伸,占满单元格的整个宽度(默认值)。
place-items
:是justify-items
和align-items
的合写
image.png
六、justify-content
align-content
place-content
justify-content
:整个内容区域在容器里面的水平位置(左中右)
align-content
:整个内容区域的垂直位置(上中下)
-
start
:对齐容器的起始边框。 -
end
:对齐容器的结束边框。 -
center
: 容器内部居中。 -
stretch
:项目大小没有指定时,拉伸占据整个网格容器。
-space-around
: 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。 -
space-between
: 项目与项目的间隔相等,项目与容器边框之间没有间隔。 -
space-evenly
: 项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。
image.png
place-content
:是justify-content
和 align-content
的合写