CSS flex-grow 属性

CSS flex-grow 属性设置了一个 flex 项主尺寸的 flex 增长系数。它指定了flex容器中剩余空间的多少应该分配给项目(flex增长系数)。


实例

让第二个弹性项目的宽度成为其余弹性项目的三倍:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #main {
  6. width: 350px;
  7. height: 100px;
  8. border: 1px solid #c3c3c3;
  9. display: flex;
  10. }
  11. #main div:nth-of-type(1) {flex-grow: 1;}
  12. #main div:nth-of-type(2) {flex-grow: 3;}
  13. #main div:nth-of-type(3) {flex-grow: 1;}
  14. #main div:nth-of-type(4) {flex-grow: 1;}
  15. #main div:nth-of-type(5) {flex-grow: 1;}
  16. </style>
  17. </head>
  18. <body>
  19. <h1>flex-grow 属性</h1>
  20. <div id="main">
  21. <div style="background-color:coral;"></div>
  22. <div style="background-color:lightblue;"></div>
  23. <div style="background-color:khaki;"></div>
  24. <div style="background-color:pink;"></div>
  25. <div style="background-color:lightgrey;"></div>
  26. </div>
  27. <p><b>注释:</b>Internet Explorer 10 以及更早的版本不支持 flex-grow 属性。</p>
  28. </body>
  29. </html>

定义和用法

flex-grow 属性规定在相同的容器中,项目相对于其余弹性项目的增长量。

主尺寸是项的宽度或高度,这取决于 flex-direction 值。

剩余的空间是 flex 容器的大小减去所有 flex 项的大小加起来的大小。如果所有的兄弟项目都有相同的 flex-grow 系数,那么所有的项目将获得相同的剩余空间,否则将根据不同的 flex-grow 系数定义的比例进行分配。

flex-grow 与其他的 flex 属性 flex-shrinkflex-basis 一起使用,通常使用 flex 速记来定义,以确保所有的值都被设置。

注释:如果元素不是弹性项目,则 flex 属性无效。

默认值:0
继承:
动画制作:支持。请参阅:动画相关属性
版本:CSS3
JavaScript 语法:object.style.flexGrow="5"

浏览器支持

表格中的数字注明了完全支持该属性的首个浏览器版本。

跟随 -webkit-、-ms- 或 -moz- 的数字规定使用前缀的首个版本。

属性
flex-grow29.021.0 -webkit-11.028.018.0 -moz-9.06.1 -webkit-17.0

CSS 语法

  1. flex-grow: number|initial|inherit;
属性值
描述
number数字值,规定该项目相对于其余弹性项目的增长量。默认为 0。
initial将此属性设置为其默认值。参阅 initial
inherit从其父元素继承此属性。参阅 inherit

相关页面

CSS3 教程: CSS3 弹性框

CSS 参考手册:flex-basis 属性

CSS 参考手册:flex-direction 属性

CSS 参考手册:flex-flow 属性

CSS 参考手册:flex-shrink 属性

CSS 参考手册:flex-wrap 属性

分类导航