grid-template
版本:CSS3
grid-template,CSS属性简写,用以定义网格中行、列与分区。
示例
/* 值为关键词 */ grid-template: none; /* 为 grid-template-rows / grid-template-columns */ grid-template: 100px 1fr / 50px 1fr; grid-template: auto 1fr / auto 1fr auto; grid-template: [linename] 100px / [columnname1] 30% [columnname2] 70%; grid-template: fit-content(100px) / fit-content(40%); /* 为 grid-template-areas grid-template-rows / grid-template-column */ grid-template: "a a a" "b b b"; grid-template: "a a a" 20% "b b b" auto; 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;
浏览器支持
![]() | ![]() | ![]() | ![]() | ![]() |
IE不支持grid-template ,其余浏览器都支持grid-template |
语法
grid-template :none| <grid-template-rows>/ <grid-template-columns>|[<line-names>?<string><track-size>?<line-names>?]+[ /<explicit-track-list>]?
取值
- 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>]?:设
grid-template-areas
为列得<string>、grid-template-columns
为<explicit-track-list>(默认为none)、grid-template-rows
为<track-size>(默认为auto)并拼接尺寸前后所定义之行。
实例
#page { display: grid; width: 100%; height: 200px; grid-template: [header-left] "head head" 30px [header-right] [main-left] "nav main" 1fr [main-right] [footer-left] "nav foot" 30px [footer-right] / 120px 1fr; } header { background-color: lime; grid-area: head; } nav { background-color: lightblue; grid-area: nav; } main { background-color: yellow; grid-area: main; } footer { background-color: red; grid-column: foot; } <section id="page"> <header>Header</header> <nav>Navigation</nav> <main>Main area</main> <footer>Footer</footer> </section>
grid-template: "a a a" 40px "b c c" 40px "b c c" 40px / 1fr 1fr 1fr; grid-template: "b b a" auto "b b c" 2ch "b b c" 1em / 20% 20px 1fr; grid-template: "a a ." minmax(50px, auto) "a a ." 80px "b b c" auto / 2em 3em auto;