批改状态:合格
老师批语:
网格容器
基于二维网格布局的容器,由若干个矩形网格单元构成,其子元素默认为块元素
网格项目
网格容器中的子元素,必须放在网格单元中
网格单元
多种组成方式,有单元格和网格区域两种表现形式
水平方向(行轨)和垂直方向(列轨),由多个网格单元组成,就是轨道
轨道间距 gap:行 列;
容器中轨道之间的间距,行规间距和列轨间距


1 repeat(数量,尺寸,尺寸) :重复设置后面的尺寸,尺寸可多值,有几个值就是重复一次的时候设置几个尺寸,见图片

2 minmax(min,max) 最小尺寸是min,最大尺寸是max
当声明的网格单元数量不够存入所有的网格项目时,多出的网格项目会放入到自动生成的网格空间中
原来声明的网格单元 叫 显示轨道
自动生成的网格单元 叫 隐式轨道
1 显示轨道的声明:例:两行三列
.container{grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 5em 5em;}
2 项目排列顺序:
行优先(默认)
.container{grid-auto-flow:row;}

列优先
.container{grid-auto-flow:column;}

3 隐式轨道的设置:
行优先时,要设置隐式轨道的行高
.container{grid-auto-flow: row;/*行优先*/grid-auto-rows: 10em; /*设置隐式轨道的行高*/}

列优先时,要设置隐式轨道的列宽
.container{grid-auto-flow: column;/*列优先*/grid-auto-columns: 1fr; /*设置隐式轨道的列宽*/}

编号指的是基线的编号,可分为行编号 和 列编号 ,编号从左上角开始(1,1)到右下角递增,反之负数为右下角(-1,-1)向左上角递减,具体见图示:
设置项目所在网格单元的区域的属性为: grid-area
属性格式为:
- grid: 行开始编号 / 列开始编号 / 行结束编号 / 列结束编号
- grid: 行开始编号 / 列开始编号 / 跨几行(span 1) / 跨几列 (span 2)
1. 完整的语法(四值) 选中第3个元素
.container > .item:nth-of-type(3){background:red;grid-area:1/3/2/4;}

.container > .item:nth-of-type(3){background:red;grid-area:1/3/span 1 / span 1;}
.container > .item:nth-of-type(3){background:red;grid-area:1/1/2/4;}

.container > .item:nth-of-type(3){background:red;grid-area:1/1/span 2 / span 2;}

2 三值写法 即 省了列结束编号或跨的数量 意味着默认跨了一列
.container > .item:nth-of-type(3){background:red;grid-area:1/1/span 2;/*跨了两行*/}
等同于
.container > .item:nth-of-type(3){background:red;grid-area:1/1/3;/*跨了两行*/}

3 两值写法
没有span 则默认跨一行一列 ,表示所放的位置
.container > .item:nth-of-type(3){background:red;grid-area:1/1;/*放在第一单元格,跨一行一列*/}

有span 则表示从默认的起始位置起算,跨几行几列,
.container > .item:nth-of-type(3){background:red;grid-area:span 2 / span 2;/*当前位置,跨两行一列*/}

如果只想设置列数,则第一个参数可以设置为 auto ,但不可不设
例2 :将第二个元素在当前位置 跨两列 行不设置
.container > .item:nth-of-type(2){background:hotpink;grid-area:auto / span 2;/*当前位置,跨两列*/}

4 单值写法 :
不带span 表示 开始的行起点,而列起点默认为1 ,
即等于 行起点 / 1 / span 1 / span 1
例:将第二个元素 放在第7个单元格
.container > .item:nth-of-type(2){background:hotpink;grid-area:3;/* 等同于 3 / 1 */}

带span 则仅代表跨的行数(默认起始位置)
例:让第二个元素跨5行
.container > .item:nth-of-type(2){background:hotpink;grid-area:span 5;/* 等同于 auto / auto/ span 5 */}

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号