repeat()
CSS repeat() 彿°è¡¨ç¤ºè½¨éå表çéå¤ç段ï¼å
许以æ´ç´§åçå½¢å¼åå
¥å¤§éæ¾ç¤ºé夿¨¡å¼çåæè¡ã
è¯¥å½æ°å¯ä»¥ç¨äº CSS Grid 屿§ä¸ grid-template-columns å grid-template-rows.
/* <track-repeat> values */
repeat(4, 1fr)
repeat(4, [col-start] 250px [col-end])
repeat(4, [col-start] 60% [col-end])
repeat(4, [col-start] 1fr [col-end])
repeat(4, [col-start] min-content [col-end])
repeat(4, [col-start] max-content [col-end])
repeat(4, [col-start] auto [col-end])
repeat(4, [col-start] minmax(100px, 1fr) [col-end])
repeat(4, [col-start] fit-content(200px) [col-end])
repeat(4, 10px [col-start] 30% [col-middle] auto [col-end])
repeat(4, [col-start] min-content [col-middle] max-content [col-end])
/* <auto-repeat> values */
repeat(auto-fill, 250px)
repeat(auto-fit, 250px)
repeat(auto-fill, [col-start] 250px [col-end])
repeat(auto-fit, [col-start] 250px [col-end])
repeat(auto-fill, [col-start] minmax(100px, 1fr) [col-end])
repeat(auto-fill, 10px [col-start] 30% [col-middle] 400px [col-end])
/* <fixed-repeat> values */
repeat(4, 250px)
repeat(4, [col-start] 250px [col-end])
repeat(4, [col-start] 60% [col-end])
repeat(4, [col-start] minmax(100px, 1fr) [col-end])
repeat(4, [col-start] fit-content(200px) [col-end])
repeat(4, 10px [col-start] 30% [col-middle] 400px [col-end])
è¯æ³
>åå¼
<length>-
æ£æ´æ°é¿åº¦ã
<percentage>-
ç¸å¯¹äºåç½æ ¼è½¨éä¸ç½æ ¼å®¹å¨çè¡å 大å°ä»¥åè¡ç½æ ¼è½¨éä¸ç½æ ¼å®¹å¨çå大å°çéè´ç¾åæ¯ãå¦æç½æ ¼å®¹å¨ç大å°åå³äºå®ç轨é大å°ï¼é£ä¹
<percentage>å¿ é¡»è¢«è§ä¸ºauto. ç¨æ·ä»£çï¼user-agentï¼å¯ä»¥å°è½¨éçåºæå¤§å°è´¡ç®è°æ´ä¸ºç½æ ¼å®¹å¨ç大å°ï¼å°è½¨éçæç»å¤§å°å¢å å°å¯ä»¥éµå®è¯¥ç¾åæ¯çæå°æ°éã <flex>-
带æ
fråä½çéè´å°ºå¯¸æå®è½¨éçå¼¹æ§ç³»æ°ãä»»ä½è¢«<flex>æå®å¤§å°ç轨é伿 ¹æ®å ¶å¼¹æ§ç³»æ°ææ¯ä¾åé å©ä½ç©ºé´ã max-content-
ä»£è¡¨å æ®ç½æ ¼è½¨éçç½æ ¼é¡¹ç®æåé çæå¤§å 容åºåçæå¤§å¼ã
min-content-
ä»£è¡¨å æ®ç½æ ¼è½¨éçç½æ ¼é¡¹ç®æåé çæå°å 容åºåçæå°å¼ã
auto-
ä½ä¸ºæå¤§å¼ï¼çåäº
max-contentãä½ä¸ºæå°å¼ï¼å®ä»£è¡¨å æ®ç½æ ¼è½¨éçç½æ ¼é¡¹ç®çæå°å°ºå¯¸çæå¤§å¼ï¼å¦åmin-width/min-heightææå®ç)ï¼ã auto-fill-
å¦æç½æ ¼å®¹å¨å¨ç¸å ³è½´ä¸å ·æç¡®å®ç大尿æå¤§å¤§å°ï¼åé夿¬¡æ°æ¯æå¤§å¯è½çæ£æ´æ°ï¼ä¸ä¼å¯¼è´ç½æ ¼æº¢åºå ¶ç½æ ¼å®¹å¨ã妿å®ä¹äºï¼å°æ¯ä¸ªè½¨éè§ä¸ºå ¶æå¤§è½¨é尺寸大å°å½æ° (
grid-template-rowsægrid-template-columnsç¨äºå®ä¹çæ¯ä¸ªç¬ç«å¼ãå¦åï¼ä½ä¸ºæå°è½¨éå°ºå¯¸å½æ°ï¼å°ç½æ ¼é´éå å ¥è®¡ç®ã妿é夿¬¡æ°è¿å¤ï¼é£ä¹éå¤å¼æ¯1ãå¦åï¼å¦æç½æ ¼å®¹å¨å¨ç¸å ³è½´ä¸å ·æç¡®å®çæå°å°ºå¯¸ï¼é夿¬¡æ°æ¯æ»¡è¶³è¯¥æä½è¦æ±çå¯è½çæå°æ£æ´æ°ãå¦åï¼æå®ç轨éåè¡¨ä» éå¤ä¸æ¬¡ã auto-fit-
è¡ä¸ºä¸
auto-fillç¸åï¼é¤äºæ¾ç½®ç½æ ¼é¡¹ç®åï¼ææç©ºçéå¤è½¨éé½å°æå ãç©ºè½¨éæ¯ææ²¡ææµå ¥ç½æ ¼æè·¨è¶ç½æ ¼çç½æ ¼é¡¹ç®ãï¼å¦æææè½¨éé½ä¸ºç©ºï¼åå¯è½å¯¼è´ææè½¨é被æå ãï¼æå ç轨é被è§ä¸ºå ·æå个åºå®è½¨é大å°å½æ°ä¸º
0pxï¼ä¸¤ä¾§çæ§½é½æå äºãä¸ºäºæ¾å°èªå¨éå¤çè½¨éæ°ï¼ç¨æ·ä»£çå°è½¨é大å°éå¶ä¸ºç¨æ·ä»£çæå®çå¼ï¼ä¾å¦
1pxï¼ï¼ä»¥é¿å 被é¶é¤ã
示ä¾
>CSS
#container {
display: grid;
grid-template-columns: repeat(2, 50px 1fr) 100px;
grid-gap: 5px;
box-sizing: border-box;
height: 200px;
width: 100%;
background-color: #8cffa0;
padding: 10px;
}
#container > div {
background-color: #8ca0ff;
padding: 5px;
}
HTML
<div id="container">
<div>This item is 50 pixels wide.</div>
<div>Item with flexible width.</div>
<div>This item is 50 pixels wide.</div>
<div>Item with flexible width.</div>
<div>Inflexible item of 100 pixels width.</div>
</div>
ç»æ
è§è
| è§è |
|---|
| CSS Grid Layout Module Level 2 > # repeat-notation > |