ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[CSS参考手册](http://css.doyoe.com/)»[属性列表](#)»[弹性盒模型属性](#)» 相关内容: [**弹性盒模型属性参考**选择其它项](#) - [box-orient](#) - [box-pack](#) - [box-align](#) - [box-flex](#) - [box-flex-group](#) - [box-ordinal-group](#) - [box-direction](#) - [box-lines](#) # box-flex - **版本:CSS3** - 继承性:无 ### 语法: **box-flex**:[<number>](#) **默认值**:0 ### 取值: [<number>](#):使用浮点数指定对象所分配其父元素剩余空间的比例。 ### 说明: **设置或检索弹性盒模型对象的子元素如何分配其剩余空间。** - **示例:将一个容器分成6份,子对象a分1份,b分2份,c分3份** **HTML Code:** ~~~ <ul id="box"> <li>a</li> <li>b</li> <li>c</li> </ul> ~~~ **CSS Code:** ~~~ #box{display:box;width:240px;height:100px;margin:0;padding:10px;list-style:none;} #box li:nth-child(1){box-flex:1;} #box li:nth-child(2){box-flex:1;} #box li:nth-child(3){box-flex:2;} ~~~ 上面代码请自行加上-moz-,-webkit-之类的。box-flex生效需定义其父元素[display](#)为box或inline-box - 误区:注意box-flex只是动态分配父元素的剩余空间,而不是整个父元素的空间。如上例,父元素#box的宽度为240px,如果你认为a,b,c的宽度分别为60, 60, 120那么就错了,因为box-flex只是分配父元素的剩余空间而已,所以a,b,c所分到的应该是除内容外所剩余下来的宽度 - **为了清晰所谓的剩余空间分配,对上例稍作修改,HTML Code不变** **CSS Code:** ~~~ #box{display:box;width:240px;height:100px;margin:0;padding:10px;list-style:none;} .box li{width:50px;padding:7px;} #box li:nth-child(1){box-flex:1;} #box li:nth-child(2){box-flex:1;} #box li:nth-child(3){box-flex:2;} ~~~ 从上面的代码,我们可以知道a,b,c的宽度分别为50+7*2=64px,三者加起来即192px,所以剩下的240-192=48px才是父元素的剩余空间,于是a,b,c按照设定的1:1:2来分配这48px,a分得12px,b分得12px,c分得24px,所以最终a=64+12=76px,b=64+12=76px,c=64+24=88px - 对应的脚本特性为**boxFlex**。 ### 兼容性: - 浅绿 = 支持 - 红色 = 不支持 - 墨绿 = 部分支持 - 橙色 = 实验性质 <table class="gdataform"><thead><tr><th><a href="#browser" title="查看本文档测试时所用浏览器版本">支持版本</a>\类型</th> <th><span class="browser-ie">IE</span></th> <th><span class="browser-firefox">Firefox</span></th> <th><span class="browser-safari">Safari</span></th> <th><span class="browser-chrome">Chrome</span></th> <th><span class="browser-opera">Opera</span></th> </tr></thead><tbody><tr><th>较早版本</th> <td class="unsupport">6.0-9.0</td> <td class="experimentsupport" rowspan="2">4.0-9.0</td> <td class="experimentsupport" rowspan="2">5.1</td> <td class="experimentsupport" rowspan="2">13.0-16.0</td> <td class="unsupport" rowspan="2">11.50-11.60</td> </tr><tr><th>较新版本</th> <td class="experimentsupport">10.0</td> </tr></tbody></table> ### 示例: # box-flex示例: - a - b - c Copyright © 2006-2012 [Doyoe](http://www.doyoe.com/). All Rights Reserved