| 属性名 | grid-template-rows grid-template-columns |
|---|---|
| 値 | none | <track-list> | <auto-track-list> |
| 値の詳細 |
<track-list> = [ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>? <auto-track-list> = [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat> [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <track-size> = <track-breadth> | minmax(<min>, <max>) | fit-content(<limit>) <fixed-size> = <fixed-breadth> | minmax(<fixed-min>, <max>) | minmax(<min> , <fixed-max>) <min> = <inflexible-breadth> <max> = <track-breadth> <fixed-min> = <fixed-breadth> <fixed-max> = <fixed-breadth> <limit> = <length-percentage> <track-breadth> = <length-percentage> | <flex> | min-content | max-content | auto <inflexible-breadth> = <length-percentage> | min-content | max-content | auto <fixed-breadth> = <length-percentage> <track-repeat> = repeat([ <integer [1,∞]> ], [ <line-names>? <track-size> ]+ <line-names>?) <fixed-repeat> = repeat([ <integer [1,∞]> ], [ <line-names>? <fixed-size> ]+ <line-names>?) <auto-repeat> = repeat([auto-fill | auto-fit], [ <line-names>? <fixed-size> ]+ <line-names>?) <line-names> = [ <custom-ident>* ] <length-percentage> = <length> | <percentage> |
| 初期値 | none |
| 適用可能要素 | グリッドコンテナ |
| 継承 | 継承しない |
| CSS | IE | Edge | Firefox | Chrome | Opera | Safari |
|---|---|---|---|---|---|---|
| CSS3 | × | 16 | 52 | 57 | 44 | 10.1 |
grid-template-rows は縦方向、grid-template-columns は横方向のグリッド線間の幅を指定します。
grid-template-columns: [line1] 8rem [line2] 8rem [line3];
繰り返しを指定します。<repetitions> には繰り返し回数を指定します。
grid-template-columns: repeat(4, 4rem); // => 4rem 4rem 4rem 4rem grid-template-columns: repeat(2, 3rem 4rem); // => 3rem 4rem 3rem 4rem grid-template-columns: repeat(2, 1rem) repeat(2, 2rem); // => 1rem 1rem 2rem 2rem
最後の <repetitions> には auto-fill または auto-fit を指定できます。両者は非常に似ていますが、auto-fit がアイテムを子要素個数分のみ生成するのに対して、auto-fill は余ったスペースに非表示のアイテムを自動的に生成します。
.grid-container {
display: grid;
justify-content: center;
}
.auto-fit {
grid-template-columns: repeat(auto-fit, 10rem);
}
.auto-fill {
grid-template-columns: repeat(auto-fill, 10rem);
}