box-sizing 一个小例子搞懂它

.box1,.box2,.box3{ border:10px solid #0C3; padding:10px; width:190px; height:190px;}
.box1{ box-sizing:border-box;}
.box2{ box-sizing:content-box;}
<div class="box1">box-sizing:border-box  宽和高190含border和padding,实测占空间190X190 </div>
<br/>
<div class="box2">box-sizing:content-box 宽和高190不含border和padding,仅指content,实测占空间 230X230, 190+左右边20+左右间距20=230</div>
<br/>
<div class="box3">没设置box-sizing</div>

这个给实际项目带来什么好处?

举一个应用场景的例子,如果你有2个div ,宽度需要平均占满屏,你第一步肯定是float:left;width:50%;

OK!这是对的!巴特!but,可是,可是,如果你这2个div有了border或者padding,那么,你的每个div的实际宽度50%需要再加上border和padding,结果就是,这2个div无法在一行了。(当然,这里可以用js来算,可以达到在一行的最终效果。这里暂不讨论js的事情。)
 

这个时候,你如果 box-sizing : border-box,就完美解决了!

代码如下:

.box{ float:left; border:10px solid #0C3; padding:10px; width:50%; height:100px; box-sizing:border-box;}
<div class="box">1</div>
<div class="box">2</div>

 

转载于:https://my.oschina.net/u/583531/blog/749610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值