Grid网格布局、Grid容器和Grid项目

1. Grid网格布局(基础知识)

①Grid容器(container)和项目(item)

采用grid网格布局的元素,称为Grid容器

display:grid|inline-grid;

Grid容器的所有子元素自动成为容器成员,称为grid项目。

列、行和单元格

容器中的水平区域称为"行"(row),垂直区域称为“列”(column).

行和列的交叉区域,称为“单元格”(cell).

网格线

划分网格的线,称为“网格线”(grid line)

水平网格线划分出行,垂直网格线划分出列。

2. Grid容器的属性

//1.display
        // 指定一个元素采用网格布局
        // diaplay:grid|inline-grid
        // grid:容器元素是块级元素
        // inline-grid:容器元素是内联块元素
 //2.grid-template-rows和grid-template-columns
        // grid-template-rows 定义每一行的高
        // grid-template-rows:固定数值|%|fr|auto|repeat()|minmax()
        // 百分比%:容器宽高的百分比,不包括内边距和边框
        // fr(fraction,片段):分配剩余可用空间
        // auto:先于fr计算,获取必要的最小空间
        // repeat():简化重复的值
        // minmax(min,max):min<=取值<=max
        // grid-template-columns 定义每一列的列宽
        // grid-template-columns:固定数值|%|fr|auto|repeat()|minmax()
 //3.grid-auto-flow
        // 定义项目的排列顺序
        // grid-auto-flow:row(默认值)|column|row dense|column dense;
        // row(默认值):先填满第一行,再放入第二行
        // column:先填满第一列,再放入第二列
        // row dense:row,在稍后出现较小的项目时,尝试填充网格中较早的空缺
        // column dense:column,在稍后出现较小的项目时,尝试填充网格中较早的空缺
 //4.grid-auto-rows和grid-auto-columns
        // grid-auto-rows:定义浏览器自动创建的多余网络的行高
        // grid-auto-columns:定义浏览器自动创建的多余网络的列宽
  //5.row-gap和column-gap、gap
        // row-gap:行间距;column-gap:列间距;
//6.grid-template-areas
        // 定义区域,如果某些区域不用,就是用“点”(.)表示
        // 区域的命名会影响到网格线。
        // 每个区域的起始网格线,会自动命名为区域名-start
        // 每个区域的终止网格线,会自动命名为区域名-end
 //7.align-items/justify-items/place-items
        // align-items:设置项目的垂直位置(上中下)
        // justify-items:设置项目的水平位置(左中右)
        // align-items/justify-items:stretch(默认值)|start|end|center
        // stretch(默认值):拉伸,占满单元格的整个宽高
        // start:对其单元格的起始边缘
        // end:对其单元格的终止边缘
        // center:单元格内部居中
        // place-items:是前两者的合并简写形式
  //8.align-content/justify-content/place-content
        // align-content:设置整个内容区域的垂直位置(上中下)
        // justify-content:设置整个内容区域的水平位置(左中右)
        // align-content/justify-content:stretch(默
认值)|start|end|center|space-around
        // |space-between|space-evenly
        // stretch(默认值):项目大小没有指定时,拉伸占据整个网格容器
        // start:对齐容器的左上角位置
        // end:对齐容器的右下角位置
        // center: 水平垂直居中
        // space-around:每个项目两侧的间隔相等,项目之间的间隔比项目与容器边框的间隔大一倍
        // space-between:项目与项目之间的间隔相等,项目与容器边框之间没有间隔
        // space-evenly:项目与项目之间的间隔相等,项目与容器边框之间的间隔也相等
        // place-content:是前两者的合并简写形式

3. Grid 项目的属性

//1.grid-column-start/grid-column-end/grid-row-start/grid-row-end
        // 指定项目的位置。这些属性的属性值都是:number|name|span number
        // number:数字,从第几个网格线开始,到第几个网格线结束
        // 项目可以重叠,使用z-index来控制重叠顺序
        // name:通过名字来引用一个明名的网格线
        // span number:该网格项将跨越所提供的网格数量
//2.grid-column:grid-column-start/grid-column-end;(用“/”隔开)
//3.grid-row:grid-row-start/grid-row-end;(用“/”隔开)
//4.grid-area
        // 指定项目放在哪一个区域
        // grid-area:区域名
        // grid-area:grid-row-start/grid-column-start/grid-row-end/grid-column-end;
        // grid-area:2/2/3/3;(从左上角到右下角)
//4.align-self/justify-self/place-self
        // align-self:设置项目的垂直位置(上中下),只作用于单个项目
        // justify-self:设置项目的水平位置(左中右),只作用于单个项目
        // align-self/justify-self:stretch(默认值)|start|end|center
        // stretch(默认值):拉伸,占满单元格的整个宽高
        // start:对齐单元格的起始边缘
        // end:对齐单元格的结束边缘
        // center:单元格内部居中
        // place-self:是前两个的合并简写

猜你喜欢

转载自blog.csdn.net/m0_49456900/article/details/123872276