设置元素宽度和高度包括了 padding 和 border_box-sizing,你的宽高度计算对了吗?...

4f17f25457d353ae158f412b3233f7c8.png

我们都知道CSS盒模型分为IE盒模型W3C标准盒模型,它们的计算方式和一个CSS属性有关box-sizing

cdda81b2fe9045a2bbfcdc9edcc277d6.png

box-sizing属性值

content-box | border-box 默认值:content-box

content-box

当我们对元素设置content-box

.demo1 { box-sizing: content-box; width: 200px; height: 200px; padding: 20px; margin: 10px; border: 5px solid #333; }

在浏览器具体表现为

9f53ab5228586a8eed4325fb362a4f6b.png

border-box

当我们设置成border-box

.demo2 { box-sizing: border-box; width: 200px; height: 200px; padding: 20px; margin: 10px; border: 5px solid #ccc; }

在浏览器具体表现为

71ac64f85700e861d4578e20ccd169eb.png

元素宽高计算

当我们去掉元素的宽高度时

9d913ce3aabe2a677fcaad41c9cf2b8b.gif

去掉元素的内外边距时

cc884807aa4ee98314654296fa0a2fd7.gif

当我们去掉元素paddingborder时可以看出元素的宽高度是在变化的,而去掉margin值时,元素的宽高没有变化。

所以我们的元素的宽高度值计算只和paddingborder,元素的content有关

width = padding + border + content height = padding + border + content

具体demo请查看

总结

  • content-box在宽度和高度之外绘制元素的内边距和边框
  • border-box在宽度和高度之内绘制元素的内边距和边框
  • 元素的宽高和margin无关,与paddingborder,元素的content有关
  • box-sizing属性值为content-box时,元素的宽高等于:width + padding + border;
  • box-sizing属性值为border-box时,元素的宽高等于元素设置的widthheight
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值