CSS ç½‘æ ¼å¸ƒå±€
ç½‘æ ¼æ˜¯ä¸€ç»„ç›¸äº¤çš„æ°´å¹³çº¿å’Œåž‚ç›´çº¿ï¼Œå®ƒå®šä¹‰äº†ç½‘æ ¼çš„åˆ—å’Œè¡Œã€‚
CSS æ��ä¾›äº†ä¸€ä¸ªåŸºäºŽç½‘æ ¼çš„å¸ƒå±€ç³»ç»Ÿï¼Œå¸¦æœ‰è¡Œå’Œåˆ—ï¼Œå�¯ä»¥è®©æˆ‘们更轻æ�¾åœ°è®¾è®¡ç½‘é¡µï¼Œè€Œæ— éœ€ä½¿ç”¨æµ®åŠ¨å’Œå®šä½�。
以下是一个简å�•çš„ç½‘é¡µå¸ƒå±€ï¼Œä½¿ç”¨äº†ç½‘æ ¼å¸ƒå±€ï¼ŒåŒ…å�«å…列和三行:
�览器支�
ç›®å‰�最新的一些æµ�览器版本都支æŒ�ç½‘æ ¼å¸ƒå±€ã€‚
| 57.0 | 16.0 | 52.0 | 10 | 44 |
ç½‘æ ¼å…ƒç´
ç½‘æ ¼å¸ƒå±€ç”±ä¸€ä¸ªçˆ¶å…ƒç´ å�Šä¸€ä¸ªæˆ–多个å�å…ƒç´ ç»„æˆ�。
实例
�试一下 »
display 属性
当一个 HTML å…ƒç´ å°† display 属性设置为 grid 或 inline-grid å�Žï¼Œå®ƒå°±å�˜æˆ�äº†ä¸€ä¸ªç½‘æ ¼å®¹å™¨ï¼Œè¿™ä¸ªå…ƒç´ çš„æ‰€æœ‰ç›´ç³»å�å…ƒç´ å°†æˆ�ä¸ºç½‘æ ¼å…ƒç´ ã€‚
ç½‘æ ¼è½¨é�“
我们通过 grid-template-columns å’Œ grid-template-rows 属性æ�¥å®šä¹‰ç½‘æ ¼ä¸çš„行和列。
è¿™äº›å±žæ€§å®šä¹‰äº†ç½‘æ ¼çš„è½¨é�“ï¼Œä¸€ä¸ªç½‘æ ¼è½¨é�“å°±æ˜¯ç½‘æ ¼ä¸ä»»æ„�两æ�¡çº¿ä¹‹é—´çš„空间。
在下图ä¸ä½ å�¯ä»¥çœ‹åˆ°ä¸€ä¸ªç»¿è‰²æ¡†çš„轨é�“â€”â€”ç½‘æ ¼çš„ç¬¬ä¸€ä¸ªè¡Œè½¨é�“。第二行有三个白色框轨é�“。
以下实例我们使用 grid-template-columns å±žæ€§åœ¨ç½‘æ ¼å®¹å™¨ä¸åˆ›å»ºå››ä¸ªåˆ—:
实例
�试一下 »
以下实例我们使用 grid-template-rows å±žæ€§åœ¨ç½‘æ ¼å®¹å™¨ä¸è®¾ç½®è¡Œçš„高度:
fr ��
轨��以使用任何长度��进行定义。
ç½‘æ ¼å¼•å…¥äº† fr å�•ä½�æ�¥å¸®åŠ©æˆ‘ä»¬åˆ›å»ºç�µæ´»çš„ç½‘æ ¼è½¨é�“。一个 fr å�•ä½�ä»£è¡¨ç½‘æ ¼å®¹å™¨ä¸å�¯ç”¨ç©ºé—´çš„一ç‰ä»½ã€‚
ä»¥ä¸‹å®žä¾‹å®šä¹‰äº†ä¸€ä¸ªç½‘æ ¼å®šä¹‰å°†åˆ›å»ºä¸‰ä¸ªç›¸ç‰å®½åº¦çš„轨é�“,这些轨é�“会éš�ç�€å�¯ç”¨ç©ºé—´å¢žé•¿å’Œæ”¶ç¼©ã€‚
ç½‘æ ¼å�•å…ƒ
ä¸€ä¸ªç½‘æ ¼å�•å…ƒæ˜¯åœ¨ä¸€ä¸ªç½‘æ ¼å…ƒç´ ä¸æœ€å°�çš„å�•ä½�, 从概念上æ�¥è®²å…¶å®žå®ƒå’Œè¡¨æ ¼çš„一个å�•å…ƒæ ¼å¾ˆåƒ�。现在å†�看回我们å‰�é�¢çš„一个例å�, ä¸€æ—¦ä¸€ä¸ªç½‘æ ¼å…ƒç´ è¢«å®šä¹‰åœ¨ä¸€ä¸ªçˆ¶çº§å…ƒç´ å½“ä¸ï¼Œé‚£ä¹ˆä»–çš„å�çº§å…ƒç´ å°†ä¼šæŽ’åˆ—åœ¨æ¯�ä¸ªäº‹å…ˆå®šä¹‰å¥½çš„ç½‘æ ¼å�•å…ƒä¸ã€‚在下é�¢çš„图ä¸ï¼Œæˆ‘ä¼šå°†ç¬¬ä¸€ä¸ªç½‘æ ¼å�•元作高亮处ç�†ã€‚
ç½‘æ ¼åŒºåŸŸ
ç½‘æ ¼å…ƒç´ å�¯ä»¥å�‘行或ç�€åˆ—的方å�‘扩展一个或多个å�•å…ƒï¼Œå¹¶ä¸”ä¼šåˆ›å»ºä¸€ä¸ªç½‘æ ¼åŒºåŸŸã€‚ç½‘æ ¼åŒºåŸŸçš„å½¢çŠ¶åº”è¯¥æ˜¯ä¸€ä¸ªçŸ©å½¢ - ä¹Ÿå°±æ˜¯è¯´ä½ ä¸�å�¯èƒ½åˆ›å»ºå‡ºä¸€ä¸ªç±»ä¼¼äºŽ"L"å½¢çš„ç½‘æ ¼åŒºåŸŸã€‚ä¸‹å›¾é«˜äº®çš„ç½‘æ ¼åŒºåŸŸæ‰©å±•äº†2列以å�Š2行。
ç½‘æ ¼åˆ—
ç½‘æ ¼å…ƒç´ çš„åž‚ç›´çº¿æ–¹å�‘称为列(Column)。
ç½‘æ ¼è¡Œ
ç½‘æ ¼å…ƒç´ çš„æ°´å¹³çº¿æ–¹å�‘称为行(Row)。
ç½‘æ ¼é—´è·�
ç½‘æ ¼é—´è·�(Column Gapï¼‰æŒ‡çš„æ˜¯ä¸¤ä¸ªç½‘æ ¼å�•å…ƒä¹‹é—´çš„ç½‘æ ¼æ¨ªå�‘é—´è·�æˆ–ç½‘æ ¼çºµå�‘é—´è·�。
您�以使用以下属性�调整间隙大�:
- grid-column-gap
- grid-row-gap
- grid-gap
以下实例使用 grid-column-gap 属性æ�¥è®¾ç½®åˆ—ä¹‹é—´çš„ç½‘æ ¼é—´è·�:
以下实例使用 grid-row-gap 属性æ�¥è®¾ç½®è¡Œä¹‹é—´çš„ç½‘æ ¼é—´è·�:
grid-gap 属性是 grid-row-gap 和 the grid-column-gap 属性的简写:
grid-gap 属性�以�时设置行间�和列间�:
ç½‘æ ¼çº¿
åˆ—ä¸Žåˆ—ï¼Œè¡Œä¸Žè¡Œä¹‹é—´çš„äº¤æŽ¥å¤„å°±æ˜¯ç½‘æ ¼çº¿ã€‚
Grid 会为我们创建编å�·çš„ç½‘æ ¼çº¿æ�¥è®©æˆ‘们æ�¥å®šä½�æ¯�ä¸€ä¸ªç½‘æ ¼å…ƒç´ ã€‚
例如下é�¢è¿™ä¸ªä¸‰åˆ—ä¸¤è¡Œçš„ç½‘æ ¼ä¸ï¼Œå°±æ‹¥æœ‰å››æ�¡çºµå�‘çš„ç½‘æ ¼çº¿ï¼ˆç�°è‰²åœ†åœˆæ ‡è®°ï¼‰ï¼Œä»¥å�Šä¸‰æ�¡æ¨ªå�‘çš„ç½‘æ ¼çº¿ï¼ˆé»‘è‰²åœ†åœˆæ ‡è®°ï¼‰ã€‚
ç½‘æ ¼å…ƒç´ è®¾ç½®æ—¶å�¯ä»¥å�‚考这些行å�·ã€‚
下图则定义了四æ�¡çºµå�‘çš„ç½‘æ ¼çº¿ï¼Œä»¥å�Šå››æ�¡æ¨ªå�‘çš„ç½‘æ ¼çº¿ï¼š
ç½‘æ ¼çº¿çš„ç¼–å�·é¡ºåº�å�–å†³äºŽæ–‡ç« çš„ä¹¦å†™æ¨¡å¼�。在从左至å�³ä¹¦å†™çš„è¯è¨€ä¸ï¼Œç¼–å�·ä¸º 1 çš„ç½‘æ ¼çº¿ä½�于最左边。在从å�³è‡³å·¦ä¹¦å†™çš„è¯è¨€ä¸ï¼Œç¼–å�·ä¸º 1 çš„ç½‘æ ¼çº¿ä½�于最å�³è¾¹ã€‚
接下æ�¥æˆ‘使用了 grid-column-start, grid-column-end, grid-row-start å’Œ grid-row-end 属性æ�¥æ¼”ç¤ºå¦‚ä½•ä½¿ç”¨ç½‘æ ¼çº¿ã€‚
ä»¥ä¸‹å®žä¾‹æˆ‘ä»¬è®¾ç½®ä¸€ä¸ªç½‘æ ¼å…ƒç´ çš„ç½‘æ ¼çº¿ä»Žç¬¬ä¸€åˆ—å¼€å§‹ï¼Œç¬¬ä¸‰åˆ—ç»“æ�Ÿï¼š
ä»¥ä¸‹å®žä¾‹æˆ‘ä»¬è®¾ç½®ä¸€ä¸ªç½‘æ ¼å…ƒç´ çš„ç½‘æ ¼çº¿ä»Žç¬¬ä¸€è¡Œå¼€å§‹ï¼Œç¬¬ä¸‰è¡Œç»“æ�Ÿï¼š
CSS ç½‘æ ¼å±žæ€§
| 属性 | �述 |
|---|---|
| column-gap | 指定列之间的间隙 |
| gap | row-gap 和 column-gap 的简写属性 |
| grid | grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns, 以� grid-auto-flow 的简写属性 |
| grid-area | æŒ‡å®šç½‘æ ¼å…ƒç´ çš„å��称,或者也å�¯ä»¥æ˜¯ grid-row-start, grid-column-start, grid-row-end, å’Œ grid-column-end 的简写属性 |
| grid-auto-columns | 指的默认的列尺寸 |
| grid-auto-flow | æŒ‡å®šè‡ªåŠ¨å¸ƒå±€ç®—æ³•æ€Žæ ·è¿�ä½œï¼Œç²¾ç¡®æŒ‡å®šåœ¨ç½‘æ ¼ä¸è¢«è‡ªåŠ¨å¸ƒå±€çš„å…ƒç´ æ€Žæ ·æŽ’åˆ—ã€‚ |
| grid-auto-rows | 指的默认的行尺寸 |
| grid-column | grid-column-start 和 grid-column-end 的简写属性 |
| grid-column-end | æŒ‡å®šç½‘æ ¼å…ƒç´ åˆ—çš„ç»“æ�Ÿä½�ç½® |
| grid-column-gap | æŒ‡å®šç½‘æ ¼å…ƒç´ çš„é—´è·�大å°� |
| grid-column-start | æŒ‡å®šç½‘æ ¼å…ƒç´ åˆ—çš„å¼€å§‹ä½�ç½® |
| grid-gap | grid-row-gap 和 grid-column-gap 的简写属性 |
| grid-row | grid-row-start 和 grid-row-end 的简写属性 |
| grid-row-end | æŒ‡å®šç½‘æ ¼å…ƒç´ è¡Œçš„ç»“æ�Ÿä½�ç½® |
| grid-row-gap | æŒ‡å®šç½‘æ ¼å…ƒç´ çš„è¡Œé—´è·� |
| grid-row-start | æŒ‡å®šç½‘æ ¼å…ƒç´ è¡Œçš„å¼€å§‹ä½�ç½® |
| grid-template | grid-template-rows, grid-template-columns 和 grid-areas 的简写属性 |
| grid-template-areas | 指定如何显示行和列,使用命å��çš„ç½‘æ ¼å…ƒç´ |
| grid-template-columns | 指定列的大å°�,以å�Šç½‘æ ¼å¸ƒå±€ä¸è®¾ç½®åˆ—的数é‡� |
| grid-template-rows | æŒ‡å®šç½‘æ ¼å¸ƒå±€ä¸è¡Œçš„大å°� |
| row-gap | 指定两个行之间的间� |
接下æ�¥æˆ‘们å�¯ä»¥é€šè¿‡ CSS ç½‘æ ¼å¸ƒå±€å°�游æˆ�æ�¥æ£€éªŒæˆ‘们的å¦ä¹ æˆ�果。
点我分享笔记