格子(grid): column、row、areaの定義: 略式プロパティ。
名前 | grid-template
|
---|---|
値 | none | [<'grid-template-rows'> / <'grid-template-columns'>] |[<line-names>? <string> <track-size>? <line-names>?]+ [ / <explicit-track-list>]?
|
初期値 | none |
適用対象 | 格子コンテナ |
継承 | 個々のプロパティを見よ |
百分率 | 個々のプロパティを見よ |
算出値 | 個々のプロパティを見よ |
正準的順序 | 文法に従う |
アニメーション型 | 個々のプロパティを見よ |
grid-template プロパティは、[grid-template-rows、grid-template-columns、grid-template-areas]を、単独の宣言で一括して設定するための略式プロパティである。
none
<'grid-template-rows'> / <'grid-template-columns'>
grid-template: auto 1fr / auto 1fr auto;
次と等価になる:
grid-template-rows: auto 1fr; grid-template-columns: auto 1fr auto; grid-template-areas: none;
<DIV style="border:1px solid red; display:grid; grid-template:50px 70px/40px 60px 80px; "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> <DIV style="border:1px solid black">5</DIV> </DIV>
[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?
この構文は、コードの中で、一連の筋名とサイズを、それぞれに対応する区画に揃えて記せるように設計されている。
grid-template: [header-top] "a a a" [header-bottom] [main-top] "b b b" 1fr [main-bottom] / auto 1fr auto;
次と等価になる:
grid-template-areas: "a a a" "b b b"; grid-template-rows: [header-top] auto [header-bottom] [main-top] 1fr [main-bottom]; grid-template-columns: auto 1fr auto;
したがって、次のような格子を作成する:
上の宣言により作成される格子。( *-start/*-end は、有名区画により暗黙的にあてがわれる罫名。)
注記: repeat() 関数は、これらの筋リストには許容されない ― 各筋と、“ASCII アート”内の各“筋”とは、視覚的に一対一に揃うよう意図されているので。
<DIV style="border:1px solid red; display:grid; grid-template:50px 70px/[a] 40px [b] 60px [c] 80px [d]; "> <DIV style="grid-column:b/d; border:1px solid black">1</DIV> <DIV style="grid-row:1/3; border:1px solid black">2</DIV> <DIV style="grid-row:2; grid-column:2/d; border:1px solid black">3</DIV> </DIV>
<DIV style="border:1px solid red; display:grid; grid-template:'a b c' 50px 'd e f' 70px/40px 60px 80px; "> <DIV style="grid-column:b/c; border:1px solid black">1</DIV> <DIV style="grid-row:a/d; border:1px solid black">2</DIV> <DIV style="grid-row:d; grid-column:2/f; border:1px solid black">3</DIV> </DIV>
注記: grid 略式プロパティも同じ構文を受容する ― それは、暗黙的な格子プロパティも、それぞれの初期値に設定し直す。したがって作者には、これらを別々にカスケードさせたいときは別として、grid-template よりも grid を利用することが推奨される。
[<custom-ident>* ]
「[ ]」で罫名を括って指定する。
<DIV style="border:1px solid red; display:grid; grid-template:[r1] 50px [r2] 70px [r3]/[a] 40px [b] 60px [c] 80px [d]; "> <DIV style="grid-column:b/d; border:1px solid black">1</DIV> <DIV style="grid-row:r1/r3; border:1px solid black">2</DIV> <DIV style="grid-row:r2; grid-column:b; border:1px solid black">3</DIV> </DIV>
<DIV style="border:1px solid red; width:200px;; display:grid; grid-template:50px minmax(30px,70px)/50px 40% auto; "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:180px; height:50px;; display:grid; grid-template:50px minmax(30px,70px)/50px 40% auto; "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:200px; display:grid; grid-template:[stat] 'a b c' 50px [en] 'd e f' 70px; "> <DIV style="grid-column:2; border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:200px; height:100px; display:grid; grid-template:[stat] 'a b c' 50px [en] 'd e f' min-content; "> <DIV style="grid-column:2; border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:200px; height:100px; display:grid; grid-template:[stat] 'a b c' 50px [en] 'd e f' max-content; "> <DIV style="grid-column:2; border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:200px; height:120px; display:grid; grid-template:[stat] 'a b c' 50px [en] 'd e f' auto; "> <DIV style="grid-column:2; border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; display:grid; grid-template: 'a a a' 50px 'b b c' 70px /50px 70px 100px; "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
minmax(<inflexible-breadth>, <track-breadth>)
<DIV style="border:1px solid red; width:150px; height:50px; display:grid; grid-template:'a a a' 50px 'b b c' minmax(40px,70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:150px; height:150px; display:grid; grid-template:'a a a' 50px 'b b c' minmax(40px,70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:150px; height:90px; display:grid; grid-template:'a a a' 50px 'b b c' minmax(min-content,70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:150px; height:60px; display:grid; grid-template:'a a a' 50px 'b b c' minmax(max-content,70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>¶
<DIV style="border:1px solid red; width:150px; display:grid; grid-template:'a a a' 50px 'b b c' minmax(auto,70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
fit-content(<length-percentage>)
max( 最小, min( 上限, max-content ) ) を表現する ― ここで、最小 は auto による最小を表現する(これは、min-content による最小に等しくなることが多いが、常にではない)/上限 は fit-content() の引数に渡された筋サイズ法関数。これは、本質的には、min( minmax(auto, max-content), minmax(auto, 上限) ) として計算される。
<DIV style="border:1px solid red; width:150px; height:150px; display:grid; grid-template:'a a a' 50px 'b b c' fit-content(70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>
<DIV style="border:1px solid red; width:150px; display:grid; grid-template:'a a a' 50px 'b b c' fit-content(70px); "> <DIV style="border:1px solid black">1</DIV> <DIV style="border:1px solid black">2</DIV> <DIV style="border:1px solid black">3</DIV> <DIV style="border:1px solid black">4</DIV> </DIV>¶
表示内容: |
表示内容: |