CSS flex-grow 属性
CSS flex-grow 属性设置了一个 flex 项主尺寸的 flex 增长系数。它指定了flex容器中剩余空间的多少应该分配给项目(flex增长系数)。
实例
让第二个弹性项目的宽度成为其余弹性项目的三倍:
<!DOCTYPE html>
<html>
<head>
<style>
#main {
width: 350px;
height: 100px;
border: 1px solid #c3c3c3;
display: flex;
}
#main div:nth-of-type(1) {flex-grow: 1;}
#main div:nth-of-type(2) {flex-grow: 3;}
#main div:nth-of-type(3) {flex-grow: 1;}
#main div:nth-of-type(4) {flex-grow: 1;}
#main div:nth-of-type(5) {flex-grow: 1;}
</style>
</head>
<body>
<h1>flex-grow 属性</h1>
<div id="main">
<div style="background-color:coral;"></div>
<div style="background-color:lightblue;"></div>
<div style="background-color:khaki;"></div>
<div style="background-color:pink;"></div>
<div style="background-color:lightgrey;"></div>
</div>
<p><b>注释:</b>Internet Explorer 10 以及更早的版本不支持 flex-grow 属性。</p>
</body>
</html>
定义和用法
flex-grow
属性规定在相同的容器中,项目相对于其余弹性项目的增长量。
主尺寸是项的宽度或高度,这取决于 flex-direction
值。
剩余的空间是 flex 容器的大小减去所有 flex 项的大小加起来的大小。如果所有的兄弟项目都有相同的 flex-grow
系数,那么所有的项目将获得相同的剩余空间,否则将根据不同的 flex-grow
系数定义的比例进行分配。
flex-grow 与其他的 flex 属性 flex-shrink
和 flex-basis
一起使用,通常使用 flex 速记来定义,以确保所有的值都被设置。
注释:如果元素不是弹性项目,则 flex 属性无效。
默认值: | 0 |
---|---|
继承: | 否 |
动画制作: | 支持。请参阅:动画相关属性。 |
版本: | CSS3 |
JavaScript 语法: | object.style.flexGrow="5" |
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
跟随 -webkit-、-ms- 或 -moz- 的数字规定使用前缀的首个版本。
属性 | |||||
---|---|---|---|---|---|
flex-grow | 29.021.0 -webkit- | 11.0 | 28.018.0 -moz- | 9.06.1 -webkit- | 17.0 |
CSS 语法
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 属性