flex-grow - 增长系数 - css 弹性盒子布局
flex-grow
版本:CSS3
CSS属性flex-grow设置了一个 flex 容器中子元素,在主轴方向上的尺寸(主尺寸)的增长系数。它指定了 flex 容器中剩余空间的多少应该分配给子元素。主尺寸是项的宽度或高度,这取决于flex-direction
值。
剩余空间的大小等于flex 容器的大小减去所有 flex 项的大小之和。
如果所有的兄弟项目都有相同的flex-grow
系数,那么所有的项目将获得相同的剩余空间,否则将根据不同的flex-grow
系数定义的比例进行分配。flex-grow
与其他的 flex 属性flex-shrink
和flex-basis
一起使用,通常使用flex速记来定义,以确保所有的值都被设置。
示例
/* values */ flex-grow: 3; flex-grow: 0.6; /* 全局 values */ flex-grow: inherit; flex-grow: initial; flex-grow: unset;
浏览器支持
IE11 以上版本的浏览器都支持flex-grow |
默认值 | 0 |
适用于 | flex 项,包括 in-flow 伪元素 |
继承性 | 无 |
动画性 | visual |
计算值 | 指定值 |
语法
flex-grow:取值
:参见。负值无效,默认为0。
说明:
设置或检索弹性盒的扩展比率。
- 根据弹性盒子元素所设置的扩展因子(即
flex-basis
)作为比率来分配剩余空间。 flex-grow
的默认值为0,如果没有显示定义该属性,是不会拥有分配剩余空间权利的。- 对应的脚本特性为flexGrow。
实例
把 b、c 项按照 1:3 的比率分配剩余空间
.flex { display: flex; width: 600px; margin: 0; padding: 0; list-style: none; } .flex li:nth-child(1) { width: 200px; } .flex li:nth-child(2) { width: 50px; flex-grow: 1; } .flex li:nth-child(3) { width: 50px; flex-grow: 3; }
- a
- b
- c
本例中 flex 容器的剩余空间长度为:600 - 200 - 50 - 50 = 300px,b、c 两项都显式的定义了flex-grow
,flex 容器的剩余空间分成了 4 份,其中 b 占 1 份,c 占 3 份,即 1:3。所以最终 a、b、c的长度分别为:
- a 长度:200px
- b 长度:50 +((1/4)* 300)= 125px
- c 长度:50 +((3/4)* 300)= 275px
#main{ width:450px; height:300px; border:1px solid #ccc; display:-webkit-flex; 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; }123
效果图:
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)