grid-auto-columns
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2020å¹´7æâ©.
CSS 屿§ grid-auto-columns æå®äºéå¼å建çç½æ ¼çºµå轨éï¼trackï¼ç宽度ã
å°è¯ä¸ä¸
grid-auto-columns: auto;
grid-auto-columns: 1fr;
grid-auto-columns: min-content;
grid-auto-columns: minmax(10px, 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></div>
</div>
</div>
</section>
#example-element {
border: 1px solid #c5c5c5;
display: grid;
grid-auto-rows: 40px;
grid-gap: 10px;
width: 220px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
#example-element > div:nth-child(1) {
grid-column: 1 / 3;
}
#example-element > div:nth-child(2) {
grid-column: 2;
}
妿ä¸ä¸ªè¡¨æ ¼é¡¹ç®è¢«å®ä½å¨æ²¡æä½¿ç¨ grid-template-columns æ¾å¼æå®å°ºå¯¸çåä¸ï¼éå¼ç grid 轨éå°±ä¼è¢«åå»ºåºæ¥æ¯æå®ãæ¾å¼å°å®ä½å°è¶
åºèå´çåä¸ï¼æè
éè¿èªå¨å¸å±ç®æ³å建é¢å¤çåï¼å°±ä¼åçä¸è¿°æ
åµã
è¯æ³
/* 以䏿¯ä¸åç±»åç屿§å¼ç¤ºä¾ */
/* Keyword values */
grid-auto-columns: min-content;
grid-auto-columns: max-content;
grid-auto-columns: auto;
/* <length> values */
grid-auto-columns: 100px;
grid-auto-columns: 20cm;
grid-auto-columns: 50vmax;
/* <percentage> values */
grid-auto-columns: 10%;
grid-auto-columns: 33.3%;
/* <flex> values */
grid-auto-columns: 0.5fr;
grid-auto-columns: 3fr;
/* minmax() values */
grid-auto-columns: minmax(100px, auto);
grid-auto-columns: minmax(max-content, 2fr);
grid-auto-columns: minmax(20%, 80vmax);
/* fit-content() values */
grid-auto-columns: fit-content(400px);
grid-auto-columns: fit-content(5cm);
grid-auto-columns: fit-content(20%);
/* multiple track-size values */
grid-auto-columns: min-content max-content auto;
grid-auto-columns: 100px 150px 390px;
grid-auto-columns: 10% 33.3%;
grid-auto-columns: 0.5fr 3fr 1fr;
grid-auto-columns: minmax(100px, auto) minmax(max-content, 2fr)
minmax(20%, 80vmax);
grid-auto-columns: 100px minmax(100px, auto) 10% 0.5fr fit-content(400px);
/* Global values */
grid-auto-columns: inherit;
grid-auto-columns: initial;
grid-auto-columns: unset;
屿§å¼
<length>-
æå®ä¸ä¸ªéè´çæ°ä½ä¸ºå°ºå¯¸ã
<percentage>-
ä¸ä¸ªéè´çç¾åæ°ï¼
<percentage>ï¼ï¼ç¸å¯¹äº grid 容å¨ç尺寸ã妿 grid ç尺寸ä¸ç¡®å®ï¼è¯¥ç¾åå¼å°±ä¼è¢«å½ä½autoå¯¹å¾ ã <flex>-
ä¸ä¸ªä»¥
fr为åä½éè´ç尺寸ï¼è¡¨ç¤ºè½¨éç伸缩系æ°ãæ¯ä¸ªä»¥<flex>å®ä¹å°ºå¯¸ç轨éä¼ä»¥è¯¥ä¼¸ç¼©ç³»æ°ä¸ºæ¯ä¾æ¥å æ®å©ä½çå¯ç¨ç©ºé´ãå¦æä½¿ç¨minmax()ï¼å表示èªå¨ç¼©å°å¹¶æå®æå¤§å°ºå¯¸ï¼ä¹å°±æ¯minmax(auto, <flex>)ï¼ã max-content-
ä¸ä¸ªå ³é®åï¼è¡¨ç¤ºä»¥ç½æ ¼é¡¹çæå¤§çå 容æ¥å æ®ç½æ ¼è½¨éã
min-content-
ä¸ä¸ªå ³é®åï¼è¡¨ç¤ºä»¥ç½æ ¼é¡¹çæå¤§çæå°å 容æ¥å æ®ç½æ ¼è½¨éã
minmax(min, max)-
å®ä¹ä¸ä¸ªå°ºå¯¸èå´ï¼å³å¤§äºæçäº min å¼ï¼å¹¶ä¸å°äºæçäº max å¼ã妿 max å¼å°äº min å¼ï¼é£ä¹ max å¼ä¼è¢«å¿½ç¥å¹¶ä¸æç»è¡¨ç°ä¸º min å¼ãæå¤§å¼å¯ä»¥è®¾ç½®ä¸ºç½æ ¼è½¨éç³»æ°å¼
<flex>ï¼ä½æå°å¼åä¸è¡ã fit-content(argument)-
ç¸å½äºå ¬å¼
min(max-content, max(auto, argument))ï¼ç±»ä¼¼äºautoçè®¡ç® (å³minmax(auto, max-content))ï¼é¤äºç½æ ¼è½¨é大å°å¼æ¯ç¡®å®ä¸æ¥çï¼å¦å该å¼é½å¤§äºautoçæå°å¼ã auto-
å¦æè¯¥ç½æ ¼è½¨é为æå¤§æ¶ï¼è¯¥å±æ§çåäº
<max-content>ï¼ä¸ºæå°æ¶ï¼åçåäº<min-content>ãNote:
auto轨é尺寸 (ä¸åªä¸ºauto弿¶) æå¯ä»¥è¢«align-contentåjustify-content屿§æä¼¸ã
å½¢å¼è¯æ³
grid-auto-columns =
<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 {
height: 100px;
display: grid;
grid-template-areas: "a a";
grid-gap: 10px;
grid-auto-columns: 200px;
}
#grid > div {
background-color: lime;
}
è§è
| Specification |
|---|
| 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 |
| å¨ç»ç±»å | æè®¡ç®å¼çç±»å |
æµè§å¨å ¼å®¹æ§
åè§
- Related CSS properties:
grid-auto-rows,grid-auto-flow,grid - Grid Layout Guide: Auto-placement in grid layout - sizing rows in the implicit grid
- Video tutorial: Introducing Grid auto-placement and order