©
本文档使用
php.cn手册 发布
box-flex:<number>
默认值:0
适用于:伸缩盒子元素
继承性:无
动画性:否
计算值:指定值
<number>:使用浮点数指定对象所分配其父元素剩余空间的比例。
效果类似于过渡版本和新版本的flex属性;
示例:将一个容器分成6份,子对象a分1份,b分2份,c分3份
HTML Code:
1
2
3
4
5
<ul id=
"box"
>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
CSS Code:
1
2
3
4
#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:
1
2
3
4
5
#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。
Values | IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|---|
Basic Support | 6.0-11.0 | 2.0-40.0-moz- | 4.0-45.0-webkit- | 6.0-8.0-webkit- | 15.0-29.0-webkit- | 6.0-8.3-webkit- | 2.1-4.4.4-webkit- | 18.0-42.0-webkit- |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
点击 "运行实例" 按钮查看在线实例