flex-grow
åºçº¿
广æ³å¯ç¨
*
èª 2015å¹´9æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
* æ¤ç¹æ§çæäºé¨åçæ¯æç¨åº¦å¯è½ææä¸åã
CSS 屿§ flex-grow CSS 设置 flex 项 主尺寸 ç flex å¢é¿ç³»æ°ã
å°è¯ä¸ä¸
flex-grow: 1;
flex-grow: 2;
flex-grow: 3;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">I grow</div>
<div>Item Two</div>
<div>Item Three</div>
</section>
.default-example {
border: 1px solid #c5c5c5;
width: auto;
max-height: 300px;
display: flex;
}
.default-example > div {
background-color: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
margin: 10px;
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0;
}
è¯æ³
满足 CSS 屿§å¼å®ä¹è¯æ³
flex-grow =ã
<number [0,â]>
/* <number> å¼ */
flex-grow: 3;
flex-grow: 0.6;
/* å
¨å±å¼ */
flex-grow: inherit;
flex-grow: initial;
flex-grow: revert;
flex-grow: unset;
flex-grow ç屿§è§å®ä¸ºä¸ä¸ª <number>ã
å¼
æè¿°
è¿ä¸ªå±æ§è§å®äº flex-grow é¡¹å¨ flex 容å¨ä¸åé
å©ä½ç©ºé´çç¸å¯¹æ¯ä¾ã
主尺寸æ¯é¡¹ç宽度æé«åº¦ï¼è¿åå³äºflex-directionå¼ã
å©ä½ç©ºé´æ¯ flex 容å¨ç大å°å廿æ flex 项ç大å°å èµ·æ¥ç大å°ã妿ææçå å¼é¡¹ç®é½æç¸åç flex-grow ç³»æ°ï¼é£ä¹ææç项ç®å°å©ä½ç©ºé´æç¸åæ¯ä¾åé ï¼å¦åå°æ ¹æ®ä¸åç flex-grow å®ä¹çæ¯ä¾è¿è¡åé ã
flex-grow ä¸å
¶ä»ç flex 屿§ flex-shrink å flex-basis ä¸èµ·ä½¿ç¨ï¼éå¸¸ä½¿ç¨ flex ç®åæ¥å®ä¹ï¼ä»¥ç¡®ä¿ææçå¼é½è¢«è®¾ç½®ã
æ£å¼å®ä¹
| åå§å¼ | 0 |
|---|---|
| éç¨å ç´ | flex items, including in-flow pseudo-elements |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| 计ç®å¼ | as specified |
| å¨ç»ç±»å | a number |
æ£å¼è¯æ³
flex-grow =
<number [0,â]>
æ ·ä¾
>设置 flex 项ç®å¢é¿å å
HTML
<h4>è¿å±ç¤ºäº flex å¢é¿</h4>
<h5>A,B,C å F å
·æ flex-grow:1ãD å E å
·æ flex-grow:2 .</h5>
<div id="content">
<div class="box" style="background-color:red;">A</div>
<div class="box" style="background-color:lightblue;">B</div>
<div class="box" style="background-color:yellow;">C</div>
<div class="box1" style="background-color:brown;">D</div>
<div class="box1" style="background-color:lightgreen;">E</div>
<div class="box" style="background-color:brown;">F</div>
</div>
CSS
#content {
display: flex;
justify-content: space-around;
flex-flow: row wrap;
align-items: stretch;
}
.box {
flex-grow: 1;
border: 3px solid rgba(0, 0, 0, 0.2);
}
.box1 {
flex-grow: 2;
border: 3px solid rgba(0, 0, 0, 0.2);
}
ç»æ
è§è
| è§è |
|---|
| CSS Flexible Box Layout Module Level 1 > # flex-grow-property > |
æµè§å¨å ¼å®¹æ§
åè§
- ä½¿ç¨ CSS å¼¹æ§çå
- CSS Flexbox æåï¼å¼¹æ§çåçåºæ¬æ¦å¿µ
- CSS Flexbox æåï¼æ§å¶ Flex åå ç´ å¨ä¸»è½´ä¸çæ¯ä¾
flex-growis weird. Or is it? Manuel Matuzovic å¨ CSS-Tricks ä¸çæç« ï¼è¯´æäº flex-grow çå·¥ä½åç