grid-template-rows
Baseline
åºãå©ç¨å¯è½
*
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2017å¹´10æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
* ãã®æ©è½ã®ä¸é¨ã¯ã対å¿ã¬ãã«ãç°ãªãå ´åãããã¾ãã
grid-template-rows 㯠CSS ã®ããããã£ã§ãã°ãªããè¡ã®ç·åã¨ãã©ãã¯ã®ãµã¤ãºå¤æ´æ©è½ãå®ç¾©ãã¾ãã
試ãã¦ã¿ã¾ããã
grid-template-rows: auto;
grid-template-rows: 40px 4em 40px;
grid-template-rows: 1fr 2fr 1fr;
grid-template-rows: 3ch auto minmax(10px, 60px);
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 10px;
width: 200px;
}
#example-element > div {
background-color: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
æ§æ
/* ãã¼ã¯ã¼ãå¤ */
grid-template-rows: none;
/* <track-list> å¤ */
grid-template-rows: 100px 1fr;
grid-template-rows: [line-name] 100px;
grid-template-rows: [line-name1] 100px [line-name2 line-name3];
grid-template-rows: minmax(100px, 1fr);
grid-template-rows: fit-content(40%);
grid-template-rows: repeat(3, 200px);
grid-template-rows: subgrid;
grid-template-rows: masonry;
/* <auto-track-list> å¤ */
grid-template-rows: 200px repeat(auto-fill, 100px) 300px;
grid-template-rows:
minmax(100px, max-content)
repeat(auto-fill, 200px) 20%;
grid-template-rows:
[line-name1] 100px [line-name2]
repeat(auto-fit, [line-name3 line-name4] 300px)
100px;
grid-template-rows:
[line-name1 line-name2] 100px
repeat(auto-fit, [line-name1] 300px) [line-name3];
/* ã°ãã¼ãã«å¤ */
grid-template-rows: inherit;
grid-template-rows: initial;
grid-template-rows: revert;
grid-template-rows: revert-layer;
grid-template-rows: unset;
ãã®ããããã£ã¯ä»¥ä¸ã®ããã«æå®ãããã¨ãã§ãã¾ãã
- ãã¼ã¯ã¼ãå¤
none <track-list>å¤<auto-track-list>å¤ã®ãããã
å¤
none-
æç¤ºçãªã°ãªããããªããã¨ã示ããã¼ã¯ã¼ãã§ããã©ã®åãæé»çã«çæããããããã®ãµã¤ãºã¯
grid-auto-rowsããããã£ã«ãã£ã¦æ±ºå®ããã¾ãã [line-name]-
<custom-ident>ã§ããã®ä½ç½®ã«ããç·ã®åç§°ãæå®ãã¾ããèå¥åã«ã¯ãäºç´èªã®spanã¨auto以å¤ã®æå¹ãªæååãæå®ãã¦ãã ãããç·ã«ã¯è¤æ°ã®ååãä»ãããã¨ãã§ãããã®å ´åã¯[line-name-a line-name-b]ã®ããã«ãè§æ¬å¼§å ã§ç©ºç½ã§åºåãã¾ãã <length>-
éè² ã®é·ãã§ãã
<percentage>-
éè² ã®
<percentage>ã§ãã°ãªããã³ã³ããã¼ã®ãããã¯æ¹åã®ãµã¤ãºã«å¯¾ããç¸å¯¾å¤ã§ããã°ãªããã³ã³ããã¼ã®ãµã¤ãºããã®ãã©ãã¯ã®ãµã¤ãºã«ä¾åããå ´åããã©ã¦ã¶ã¼ã¯ã°ãªããã³ã³ããã¼ã®å å¨ãµã¤ãºãè¨ç®ããç®çã§ããã¼ã»ã³ãå¤ãautoã¨ãã¦æ±ãã¾ãããã®å¾ãæå®ããããã¼ã»ã³ãå¤ã¯ãã°ãªããã¨ãã®ã¢ã¤ãã ãé ç½®ããããã®çµæã¨ãã¦å¾ãããã°ãªããã³ã³ããã¼ã®ãµã¤ãºã«å¯¾ãã¦è§£æ±ºããã¾ãããã©ã¦ã¶ã¼ã¯ããã©ãã¯ã®å å¨ãµã¤ãºãã°ãªããã³ã³ããã¼ã®ãµã¤ãºã«å¯ä¸ããå²åã調æ´ãããã¼ã»ã³ãå¤ãåæ ãããããã«å¿ è¦ãªæå°éã®éã ããã©ãã¯ã®æçµãµã¤ãºãå¢å ããããã¨ãããã¾ãã <flex>-
frã®åä½ã®ä»ããéè² ã®é·ãã§ããã®ãã©ãã¯ã®ãã¬ãã¯ã¹ä¿æ°ãæå®ãã¾ãã<flex>ã®ãµã¤ãºã®ãã©ãã¯ã¯ãæ®ãã®ç©ºéããã¬ãã¯ã¹ä¿æ°ã®å²åã«æ¯ä¾ãã¦å ±æãã¾ããminmax()表è¨ã®å¤ã«ç¾ããå ´åã¯ãæå°å¤ãèªåã¨ãã¦æ±ããã¾ã (ã¤ã¾ãminmax(auto, <flex>))ã max-content-
ã°ãªãããã©ãã¯ãå æãã¦ããã°ãªããã¢ã¤ãã ã®ä¸ã§ãã³ã³ãã³ãè²¢ç®åº¦ã®æå¤§å¤ã表ããã¼ã¯ã¼ãã§ãã
min-content-
ã°ãªãããã©ãã¯ãå æãã¦ããã°ãªããã¢ã¤ãã ã®ä¸ã§ãã³ã³ãã³ãè²¢ç®åº¦ã®æå°å¤ã表ããã¼ã¯ã¼ãã§ãã
minmax(min, max)-
min 以ä¸ã max 以ä¸ã®ãµã¤ãºã®ç¯å²ãå®ç¾©ãã颿°è¡¨è¨æ³ã§ãã max ã min ããå°ããå ´åã max ã¯ç¡è¦ããã颿°ã¯ min ã¨ãã¦æ±ããã¾ããæå¤§å¤ã¨ãã¦ã
<flex>å¤ã¯ãã©ãã¯ã®ãã¬ãã¯ã¹ä¿æ°ãè¨å®ãã¾ããæå°å¤ã¨ãã¦ã¯ç¡å¹ã§ãã auto-
æå¤§å¤ã¨ãã¦ä½¿ãããå ´åããã®ãã©ãã¯å ã®æå¤§ã®ã¢ã¤ãã ã®
max-contentãµã¤ãºã表ãã¾ããæå°å¤ã¨ãã¦ä½¿ãããå ´åã¯ãã°ãªãããã©ãã¯ãå ããã°ãªããã¢ã¤ãã ã®æå¤§ã®æå°ãµã¤ãº (
min-width/min-heightã§æå®ããããã®) ã表ãã¾ãããµã¤ãã¯min-contentã§ãããå¿ ãããã¨ã¯éãã¾ãããminmax()ã®å¤ã§ä½¿ãããå ´åãautoã¯ä¸è¨ã®æå°å¤ã¨æå¤§å¤ã®éã®ç¯å²ã表ãã¾ããããã¯ã»ã¨ãã©ã®å ´åãminmax(min-content,max-content)ã¨åãããã«åä½ãã¾ããã¡ã¢: ãã©ãã¯ã®ãµã¤ãºã
autoã®å ´å (ããã¦autoã®å ´åã ã)ãalign-contentããã³justify-contentããããã£ã«ãã£ã¦å¼ã伸ã°ããããã¨ãããã¾ãã fit-content( [ <length> | <percentage> ] )-
min(max-content, max(auto, argument))ã®å¼ã表ããautoã¨åæ§ã«ï¼ããªãã¡minmax(auto, max-content)ã¨ï¼è¨ç®ããã¾ããããã©ãã¯ã®ãµã¤ãºãautoã®æå°å¤ããã大ããå ´å㯠argument ã§ã¯ã©ã³ããããã¨ãããç°ãªãã¾ãã repeat( [ <positive-integer> | auto-fill | auto-fit ] , <track-list> )-
ãã©ãã¯ãªã¹ãã®ç¹°ãè¿ããã©ã°ã¡ã³ãã表ããç¹°ãè¿ããã¿ã¼ã³ã示ã夿°ã®è¡ãããã³ã³ãã¯ããªå½¢å¼ã§è¨è¿°ã§ããããã«ãã¾ãã
masonry-
masonry ã®å¤ã¯ããã®è»¸ãã¡ã¤ã½ã³ãªã¼ã¢ã«ã´ãªãºã ã«å¾ã£ã¦ã¬ã¤ã¢ã¦ããããã¹ãã§ãããã¨ã示ãã¾ãã
subgrid-
ã°ãªãããããã®è¦ªã°ãªããã®ãã®è»¸æ¹åã®é¨åã«åããããããã¨ã示ãã¾ããã°ãªããã®è¡ãåã®ãµã¤ãºã¯æç¤ºçã«æå®ãããã親ã°ãªããã®å®ç¾©ããåå¾ããã¾ãã
å ¬å¼å®ç¾©
| åæå¤ | none |
|---|---|
| é©ç¨å¯¾è±¡ | ã°ãªããã³ã³ããã¼ |
| ç¶æ¿ | ãªã |
| ãã¼ã»ã³ãå¤ | ã³ã³ãã³ãé åã®å¯¾å¿ãã寸æ³ã«å¯¾ããç¸å¯¾å¤ |
| è¨ç®å¤ | æå®éãããã ãç¸å¯¾çãªé·ãã¯ã¯çµ¶å¯¾çãªé·ãã«å¤æããã |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | é·ãããã¼ã»ã³ãå¤ã calc ã®åç´ãªãªã¹ãã§ãããå¯ä¸ã®éãã¯ãªã¹ãå ã®é·ãããã¼ã»ã³ãå¤ã calc ã®é¨åã®å¤ã®ã¿ |
形弿æ³
grid-template-rows =
none |
<track-list> |
<auto-track-list> |
subgrid <line-name-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>?
<line-name-list> =
[ <line-names> | <name-repeat> ]+
<line-names> =
'[' <custom-ident>* ']'
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,â]> )
<track-repeat> =
repeat( [ <integer [1,â]> ] , [ <line-names>? <track-size> ]+ <line-names>? )
<fixed-size> =
<fixed-breadth> |
minmax( <fixed-breadth> , <track-breadth> ) |
minmax( <inflexible-breadth> , <fixed-breadth> )
<fixed-repeat> =
repeat( [ <integer [1,â]> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
<auto-repeat> =
repeat( [ auto-fill | auto-fit ] , [ <line-names>? <track-size> ]+ <line-names>? )
<name-repeat> =
repeat( [ <integer [1,â]> | auto-fill ] , <line-names>+ )
<track-breadth> =
<length-percentage [0,â]> |
<flex [0,â]> |
min-content |
max-content |
auto
<inflexible-breadth> =
<length-percentage [0,â]> |
min-content |
max-content |
auto
<length-percentage> =
<length> |
<percentage>
<integer> =
<number-token>
<fixed-breadth> =
<length-percentage [0,â]>
ä¾
>ã°ãªããè¡ã®ãµã¤ãºã®æå®
HTML
<div id="grid">
<div id="areaA">A</div>
<div id="areaB">B</div>
</div>
CSS
#grid {
display: grid;
height: 100px;
grid-template-rows: 30px 1fr;
}
#areaA {
background-color: lime;
}
#areaB {
background-color: yellow;
}
çµæ
仿§æ¸
| 仿§æ¸ |
|---|
| CSS Grid Layout Module Level 2 > # track-sizing > |
| CSS Grid Layout Module Level 2 > # subgrids > |