grid-area
åºçº¿
广æ³å¯ç¨
èª 2017å¹´10æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
CSS 屿§ grid-area æ¯ä¸ç§å¯¹äº grid-row-startãgrid-column-startãgrid-row-end å grid-column-end çç®åï¼éè¿åºçº¿ï¼lineï¼ï¼è·¨åº¦ï¼spanï¼ææ²¡æï¼èªå¨ï¼çç½æ ¼æ¾ç½®å¨ grid row 䏿å®ä¸ä¸ªç½æ ¼é¡¹ç大å°åä½ç½®ï¼ç»§èç¡®å® grid area çè¾¹çã
/* Keyword values */
grid-area: auto;
grid-area: auto / auto;
grid-area: auto / auto / auto;
grid-area: auto / auto / auto / auto;
/* <custom-ident> values */
grid-area: some-grid-area;
grid-area: some-grid-area / another-grid-area;
/* <integer> && <custom-ident>? values */
grid-area: some-grid-area 4;
grid-area: some-grid-area 4 / 2 another-grid-area;
/* span && [ <integer> || <custom-ident> ] values */
grid-area: span 3;
grid-area: span 3 / span some-grid-area;
grid-area: 2 span / another-grid-area span;
/* Global values */
grid-area: inherit;
grid-area: initial;
grid-area: unset;
妿æå®äº 4 个 <grid-line> çå¼ï¼grid-row-start ä¼è¢«è®¾ä¸ºç¬¬ä¸ä¸ªå¼ï¼grid-column-start 为第äºä¸ªå¼ï¼ grid-row-end 为第ä¸ä¸ªå¼ï¼grid-column-end 为第å个å¼ã
å½ grid-column-end è¢«å¿½ç¥æ¶ï¼è¥ grid-column-start ä¸ºä¸ <custom-ident>ï¼èªå®ä¹å
³é®åæ°æ®ç±»åï¼ï¼ grid-column-end å为该 <custom-ident>ï¼å¦å为 autoã
å½ grid-row-end è¢«å¿½ç¥æ¶ï¼è¥ grid-row-start ä¸ºä¸ <custom-ident>ï¼grid-row-end å为该 <custom-ident>ï¼å¦å为 autoã
å½ grid-column-start è¢«å¿½ç¥æ¶ï¼è¥ grid-row-start ä¸ºä¸ <custom-ident>ï¼åææå项æ®éåæ³ç屿§å¼å为该å¼ãå¦å为 autoã
ç½æ ¼é¢ç屿§äº¦å¯è®¾ä¸ºä¸ <custom-ident> ä½ä¸ºå
¶åç§°ï¼ç¶åå¯éè¿ grid-template-areas æ¾ç½®ã
è¯æ³
/* Keyword values */
grid-area: auto;
grid-area: auto / auto;
grid-area: auto / auto / auto;
grid-area: auto / auto / auto / auto;
/* <custom-ident> values */
grid-area: some-grid-area;
grid-area: some-grid-area / another-grid-area;
/* <integer> && <custom-ident>? values */
grid-area: 4 some-grid-area;
grid-area: 4 some-grid-area / 2 another-grid-area;
/* span && [ <integer> || <custom-ident> ] values */
grid-area: span 3;
grid-area: span 3 / span some-grid-area;
grid-area: 2 span / another-grid-area span;
/* Global values */
grid-area: inherit;
grid-area: initial;
grid-area: unset;
å¼
auto-
è¯¥å ³é®å表æè¯¥å±æ§æªæå®è¯¥å¦ä½çººç»ç½æ ¼é¡¹ç®ãç½æ ¼é¡¹ç®ä¼è¢«ä»¥é»è®¤è·¨åº¦ï¼spanï¼
1èªå¨æ¾ç½®ã <custom-ident>èªå®ä¹å ³é®åæ°æ®ç±»å-
妿åå¨ä»¥ '
<custom-ident>-start'/'<custom-ident>-end' å½åçèªå®ä¹åºçº¿ï¼å®ä¼å°ç¬¬ä¸ä¸ªè¿æ ·çåºçº¿è´¡ç®ç»ç½æ ¼åå 以å¸ç½®ã注æï¼ 被å½åçç½æ ¼åºåï¼grid areasï¼ä¼èªå¨çæéå¼ç被å½åçåºçº¿ï¼å æ¤æå®
grid-row: foo;å°ä¼éæ©è¿ä¸ªå½ååºåçå¼å§åç»æçè¾¹çï¼é¤éå¨å®ä¹åå卿¾å¼æå®ç以foo-start/foo-endå½åçå ¶ä»åºçº¿ï¼ãå¦åï¼å®å°±ä¼è¢«å½ä½æ´æ°
1ä¸<custom-ident>ä¸èµ·æå®ã <integer> && <custom-ident>?-
å°ç¬¬ n æ¡ç½æ ¼åºçº¿è´¡ç®ç»ç½æ ¼åå å¸ç½®ã妿æå®çæ¯è´æ°ï¼åæçæ¯ä»ä¸è¾¹çåä¸è¾¹ç计ç®çåå顺åºã妿æä¾çæ¯
<custom-ident>ï¼é£ä¹åªæä»¥æ¤å½åçåºçº¿æä¼è¢«è®¡ç®ã妿æå½åçåºçº¿æ°è¶ è¿äºç½æ ¼çº¿æ°ï¼ä¸ºäºæ¾å°è¯¥ä½ç½®ï¼ææéå¼çç½æ ¼çº¿ä¼è¢«å宿¥æè¿ä¸ªå½åã<integer>å¼ä¸è½ä¸º0ã span && [ <integer> || <custom-ident> ]-
ä¸ºç½æ ¼åå å®ä¹ä¸ä¸ªè·¨åº¦ï¼ä½¿å¾ç½æ ¼åå çç½æ ¼åºåä¸ç䏿¡è¾¹çè¿ç¦»å¦ä¸æ¡è¾¹ç线 n æ¡åºçº¿ã妿æä¾çæ¯
<custom-ident>ï¼ååªæä»¥æ¤å½åçåºçº¿æä¼è¢«è®¡ç®ãå¦æç½æ ¼çº¿ä¸è¶³ï¼ååå®ä¸æç´¢æ¹å对åºçæ¾å¼ç½æ ¼ä¸ä¾§çææéå¼ç½æ ¼çº¿é½å ·æè¯¥åç§°ãå¦æå¿½ç¥ <integer> ï¼å®å°±é»è®¤è®¾ä¸º
1ãå®çå¼ä¹ä¸è½ä¸º 0ã
å½¢å¼è¯æ³
grid-area =
<grid-line> [ / <grid-line> ]{0,3}
<grid-line> =
auto |
<custom-ident> |
[ [ <integer [-â,-1]> | <integer [1,â]> ] && <custom-ident>? ] |
[ span && [ <integer [1,â]> || <custom-ident> ] ]
<integer> =
<number-token>
示ä¾
>HTML
<div id="grid">
<div id="item1"></div>
<div id="item2"></div>
<div id="item3"></div>
</div>
CSS
#grid {
display: grid;
height: 100px;
grid-template: repeat(4, 1fr) / 50px 100px;
}
#item1 {
background-color: lime;
grid-area: 2 / 2 / auto / span 3;
}
#item2 {
background-color: yellow;
}
#item3 {
background-color: blue;
}
è§è
| è§è |
|---|
| CSS Grid Layout Module Level 2 > # propdef-grid-area > |
æµè§å¨å ¼å®¹æ§
åè§
- Related CSS properties:
grid-row,grid-row-start,grid-row-end,grid-column,grid-column-start,grid-column-end,grid-template-areas - Grid Layout Guide: Grid template areas
- Video tutorial: Grid Template Areas