gap
åºçº¿
广æ³å¯ç¨
èª 2017å¹´10æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
CSS gap ç®å屿§ç¨äºè®¾ç½®è¡ä¸åä¹é´çé´éï¼ç½æ ¼é´è·ï¼ã
è§èçæ©æçæ¬å°è¯¥å±æ§å½å为 grid-gapï¼ä¸ä¸ºäºä¿æä¸æ§ç½ç«çå
¼å®¹æ§ï¼æµè§å¨ä»ç¶ä¼æ¥å grid-gap ä½ä¸º gap çå«åã
å°è¯ä¸ä¸
gap: 0;
gap: 10%;
gap: 1em;
gap: 10px 20px;
gap: calc(20px + 10%);
<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;
width: 200px;
}
#example-element > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
ç»æå±æ§
è¯¥å±æ§ä¸ºä»¥ä¸ CSS 屿§çç®åï¼
è¯æ³
css
/* ä¸ä¸ª <length> å¼ */
gap: 20px;
gap: 1em;
gap: 3vmin;
gap: 0.5cm;
/* ä¸ä¸ª <percentage> å¼ */
gap: 16%;
gap: 100%;
/* 两个 <length> å¼ */
gap: 20px 10px;
gap: 1em 0.5em;
gap: 3vmin 2vmax;
gap: 0.5cm 2mm;
/* ä¸ä¸ªæä¸¤ä¸ª <percentage> å¼ */
gap: 16% 100%;
gap: 21px 82%;
/* calc() å¼ */
gap: calc(10% + 20px);
gap: calc(20px + 10%) calc(10% - 5px);
/* å
¨å±å¼ */
gap: inherit;
gap: initial;
gap: revert;
gap: revert-layer;
gap: unset;
è¯¥å±æ§ç¨æ¥è¡¨ç¤º <'row-gap'> åå¯éç <'column-gap'> çå¼ãå¦æç¼ºå¤± <'column-gap'>ï¼åå
¶ä¼è¢«è®¾ç½®æè· <'row-gap'> 䏿 ·çå¼ã
<'row-gap'> å <'column-gap'> é½å¯ä»¥ç¨ <length> æè
<percentage> æ¥æå®ã
å¼
<length>-
ç½æ ¼çº¿ä¹é´çé´é宽度ã
<percentage>-
ç½æ ¼çº¿ä¹é´çé´é宽度ï¼ä¸ºç¸å¯¹äºå½åå ç´ å°ºå¯¸çç¾åæ¯ã
å½¢å¼å®ä¹
| åå§å¼ | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
|---|---|
| éç¨å ç´ | multi-column elements, flex containers, grid containers |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| 计ç®å¼ | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
| å¨ç»ç±»å | 该ç®åæå¯¹åºçæ¯ä¸ªå±æ§ï¼
|
å½¢å¼è¯æ³
gap =
<'row-gap'> <'column-gap'>?
<row-gap> =
normal |
<length-percentage [0,â]> |
<line-width>
<column-gap> =
normal |
<length-percentage [0,â]> |
<line-width>
<length-percentage> =
<length> |
<percentage>
<line-width> =
<length [0,â]> |
hairline |
thin |
medium |
thick
示ä¾
>å¼¹æ§å¸å±
HTML
html
<div id="flexbox">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
css
#flexbox {
display: flex;
flex-wrap: wrap;
width: 300px;
gap: 20px 5px;
}
#flexbox > div {
border: 1px solid green;
background-color: lime;
flex: 1 1 auto;
width: 100px;
height: 50px;
}
ç»æ
ç½æ ¼å¸å±
HTML
html
<div id="grid">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
css
#grid {
display: grid;
height: 200px;
grid-template: repeat(3, 1fr) / repeat(3, 1fr);
gap: 20px 5px;
}
#grid > div {
border: 1px solid green;
background-color: lime;
}
ç»æ
å¤åå¸å±
HTML
html
<p class="content-box">
è¿æ¯ä½¿ç¨ CSS <code>gap</code> 屿§å建çå
·æ 40px
åé´è·ç夿 ææ¬ãä½ ä¸è§å¾è¿å¾æè¶£å令人å
´å¥åï¼æå½ç¶æ¯è¿ä¹è®¤ä¸ºçï¼ï¼ï¼
</p>
CSS
css
.content-box {
column-count: 3;
gap: 40px;
}
ç»æ
è§è
| è§è |
|---|
| CSS Gaps Module Level 1 > # gap-shorthand > |
æµè§å¨å ¼å®¹æ§
åè§
- ç¸å
³ CSS 屿§ï¼
row-gapãcolumn-gap - ç½æ ¼å¸å±æåï¼ç½æ ¼å¸å±çåºæ¬æ¦å¿µââç½æ ¼é´è·