grid-auto-rows
åºçº¿
广æ³å¯ç¨
èª 2020å¹´7æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
CSS 屿§ grid-auto-rows ç¨äºæå®éå¼å建çè¡è½¨é大å°ã
å°è¯ä¸ä¸
grid-auto-rows: auto;
grid-auto-rows: 50px;
grid-auto-rows: min-content;
grid-auto-rows: minmax(30px, auto);
<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-auto-rows: 40px;
grid-gap: 10px;
width: 220px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
font-size: 22px;
}
#example-element div:last-child {
font-size: 13px;
}
妿å®ä½å°æè¡ä¸çç½æ ¼å
ç´ æ²¡æä½¿ç¨ grid-template-rowsæ¥æå®å¤§å°ï¼åä¼éå¼å建grid è½¨éæ¥ä¿åå®ãè¿å¯è½å¨æ¾ç¤ºå®ä½å°è¶
åºèå´çè¡ï¼æè
ç±èªå¨æ¾ç½®ç®æ³å建é¢å¤çè¡æ¶åçã
è¯æ³
/* Keyword values */
grid-auto-rows: min-content;
grid-auto-rows: max-content;
grid-auto-rows: auto;
/* <length> values */
grid-auto-rows: 100px;
grid-auto-rows: 20cm;
grid-auto-rows: 50vmax;
/* <percentage> values */
grid-auto-rows: 10%;
grid-auto-rows: 33.3%;
/* <flex> values */
grid-auto-rows: 0.5fr;
grid-auto-rows: 3fr;
/* minmax() values */
grid-auto-rows: minmax(100px, auto);
grid-auto-rows: minmax(max-content, 2fr);
grid-auto-rows: minmax(20%, 80vmax);
/* multiple track-size values */
grid-auto-rows: min-content max-content auto;
grid-auto-rows: 100px 150px 390px;
grid-auto-rows: 10% 33.3%;
grid-auto-rows: 0.5fr 3fr 1fr;
grid-auto-rows: minmax(100px, auto) minmax(max-content, 2fr) minmax(20%, 80vmax);
grid-auto-rows: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px);
/* Global values */
grid-auto-rows: inherit;
grid-auto-rows: initial;
grid-auto-rows: unset;
åå¼
<length>-
ä¸ä¸ªéè´çé¿åº¦ã
<percentage>-
ç¸å¯¹äºç½æ ¼çªå£å尺寸çéè´
<percentage>å¼ãå¦æç½æ ¼å®¹å¨çå尺寸æ¯ä¸ç¡®å®çï¼åç¾åæ¯å¼å°è¢«è§ä¸ºautoã <flex>-
éè´çã以
fr为åä½ç维度æå®è½¨éçå¼¹æ§å åãæ¯ä¸ª<flex>-尺寸ç轨éé½æå ¶å¼¹æ§å åçæ¯ä¾æ¤å å©ä½ç©ºé´çä¸é¨åãå½ä½¿ç¨å¨
minmax()符å·å¤æ¶ï¼æå³çæå°å¼ä¸ºauto(ä¾ï¼minmax(auto, <flex>)). max-content-
å ³é®è¯ï¼ææç±ç½æ ¼å ç´ ä¸å ç¨ç©ºé´æå¤§çé£ä¸ä¸ªæ¥å³å®è½¨éç尺寸ã
min-content-
å ³é®è¯ï¼ææç±ç½æ ¼å ç´ ä¸å ç¨ç©ºé´æå°çé£ä¸ä¸ªæ¥å³å®è½¨éç尺寸ã
minmax(min, max)-
彿°ç¬¦å·ï¼å®ä¹ä¸ä¸ªä¸å°äº
minä¸ä¸å¤§äºmaxç尺寸èå´ã妿maxæ¯minå°ï¼åmaxä¼è¢«å¿½ç¥ï¼å½æ°ä¼è¢«å½ä½minå¤çãä½ä¸ºæå¤§å¼ï¼<flex>å¼è®¾ç½®äºè½¨éçå¼¹æ§å åãä½ä¸ºæå°å¼ï¼ä¼è¢«å½ä½ 0 å¤çï¼æè æå°å 容ââå½ç½æ ¼å®¹å¨æå®äºå°ºå¯¸ä¸ºæå°å 容ï¼ã auto-
å ³é®åï¼å½ç¨æ¥æå®æå¤§å¼æ¶ä¸æå¤§å 容ä¸è´ï¼å½ç¨æ¥æå®æå°å¼æ¶ï¼å®è¡¨ç¤ºè½¨é䏿æç½æ ¼å ç´ æå°å°ºå¯¸ä¸çæå¤§å¼ï¼ç±
min-width/min-heightæå®ï¼ã注æï¼
auto轨é尺寸ï¼ä¸ä» æauto轨é尺寸ï¼å¯é åalign-contentåjustify-content屿§ä½¿ç¨ã
å½¢å¼è¯æ³
grid-auto-rows =
<track-size>+
<track-size> =
<track-breadth> |
minmax( <inflexible-breadth> , <track-breadth> ) |
fit-content( <length-percentage [0,â]> )
<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>
示ä¾
>HTML
<div id="grid">
<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
</div>
CSS
#grid {
width: 200px;
display: grid;
grid-template-areas: "a a";
grid-gap: 10px;
grid-auto-rows: 100px;
}
#grid > div {
background-color: lime;
}
è§è
| è§è |
|---|
| CSS Grid Layout Module Level 2> # auto-tracks> |
| åå§å¼ | auto |
|---|---|
| éç¨å ç´ | ç½æ ¼å®¹å¨ |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| Percentages | refer to corresponding dimension of the content area |
| 计ç®å¼ | the percentage as specified or the absolute length |
| å¨ç»ç±»å | æè®¡ç®å¼çç±»å |
æµè§å¨å ¼å®¹æ§
åè§
- ç¸å
³ç CSS 屿§ï¼
grid-auto-columns,grid-auto-flow,grid - ç½æ ¼å¸å±æåï¼ç½æ ¼å¸å±ä¸çèªå¨å®ä½ - éå¼ç½æ ¼ä¸çè¡å°ºå¯¸
- è§é¢æç¨ï¼å¼å ¥ç½æ ¼èªå¨æ¾ç½®åæåº