盒子模型的宽度计算问题, 有什么问题,及解决方案

盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版。其实盒子模型有两种,分别是 ie 盒子模型标准 w3c 盒子模型

       

                 标准 W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。

 

  从上图可以看到 IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。

例如一个盒子模型如下:margin:20px,border:10px,padding:10px;width:200px;height:50px;  

 

如果用w3c盒子模型解释,那么这个盒子模型占用的

  宽度为:20*2+10*2+10*2+200=280px; 

  高度:20*2+10*2+20*2+50=130px;

  盒子的实际宽度大小为:10*2+10*2+200=240px;

  实际高度:10*2+10*2+50=90px;

用ie的盒子模型解释 :

盒子在网页中占据的大小为   20*2+200=240px;  高:20*2+50=90px;

盒子的实际大小为:宽度:200px, 高度:50px;

W3C 最后为了解决这个问题,在 CSS3 中加了 box-sizing 这个属性。当我们设置 box-sizing: border-box; 时,border 和 padding 就被包含在了宽高之内,所以,为了避免你同一份 css 在不同浏览器下表现不同,最好加上:

   

 


*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
 

这里还有两种特殊情况:

  • 无宽度 —— 绝对定位(position: absolute;) 元素
  • 无宽度 —— 浮动(float) 元素

它们在页面上的表现均不占据空间(脱离普通流,感觉像浮在页面上层一样,移动它们不影响其他元素的定位)。

 

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangyingchengqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值