描述
CSS属性 grid-template,是grid-template-area、grid-template-column、grid-template-row属性的简写,用以定义网格中行、列与分区。
取值
none
关键词,设上文“所简写属性”为none,即恢复默认设置。行列隐式生成,grid-auto-rows与grid-auto-columns定其尺寸。
<'grid-template-rows'> / <'grid-template-columns'>
指定grid-template-rows与grid-template-columns之值,并设grid-template-areas为none。
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
< line-names >是网格名称, < string >是 grid-template-areas的名称,< track-size > 是 grid-template-rows的值(无具体的值则设置成 auto ) ,然后按这种方式依次拼接。/ 后的 < explicit-track-list > 是 grid-template-columns 的值。
语法
/* 值为关键词 */ grid-template: none; /* 为 grid-template-rows / grid-template-columns */ /* 第一行高100px 第二行高1fr / 第一列宽50px 第二列宽1fr */ grid-template: 100px 1fr / 50px 1fr; /* 第一行auto 第二行1fr / 第一列auto 第二列 1fr 第三列 auto */ grid-template: auto 1fr / auto 1fr auto; /* 行名称 高度100px / 列名称1 列宽30% 列名称2 列宽70% */ grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%; /* 适配行内容100px / 适配列内容40% */ grid-template: fit-content(100px) / fit-content(40%); /* 为 grid-template-areas grid-template-rows / grid-template-column */ /* 定义了2行3列的区域名称 */ grid-template: "a a a" "b b b"; /* 第一行aaa定义了3列,第一行高为20%; 第二行bbb定义了3列,第二行高为auto */ grid-template: "a a a" 20% "b b b" auto; /* [header-top]等名称去掉也是一样的,也是第一行aaa定义3列,行高为auto,第二行bbb定义2列,行高为1fr */ grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto; /* 为全局值 */ grid-template: inherit; grid-template: initial; grid-template: unset;