content-box和border-box区别以及应用场景

content-box和border-box区别以及应用场景【保证一看就彻底懂了】

首先这两个是什么?

他们是css box-sizing的两个值,是两种不同的盒模型,用content-box,元素的宽高就等于width和height的值,他的宽高不受padding,border的影响,而用border-box,元素的宽高是受padding,border影响的,元素实际宽度是等于width-padding左右-border左右,也就是当width不变,padding/border发生变化时,内容的宽高是会相应的变化的。话不多说,撸代码示例及效果截图,这样大家一看便能理解了。

为了保持参照,便于大家更好的理解,写两个不同的样式,除了box-sizing属性不同,其他属性全部相同

// html部分
<div>
      <div class="content-box">1</div>
      <div class="border-box">1</div>
</div>
// css部分
<style lang="stylus" scoped>
.border-box
  background yellow
  width 300px
  height 100px
  box-sizing border-box
  margin 20px
  padding 30px
  border 10px dashed #000
.content-box
  background skyblue
  width 300px
  height 100px
  box-sizing content-box
  margin 20px
  padding 30px
  border 10px dashed #000

效果图:
在这里插入图片描述蓝色背景的div,box-sizing值为content-box,设置padding和border没有影响元素本身的width和height,但内容整体会因为padding和border变大(右下角红色框框里面的)
在这里插入图片描述蓝色背景的div,box-sizing值为border-box,设置padding和border影响元素本身的width=220=300-30✖️2-10✖️2和height=20=100-30✖️2-10✖️2,但内容整体大小不变(右下角红色框框里面的)

使用场景

综上所述,很容易发现,border-box更适合在水平布局有多个div,然后各占50%,然后不管你怎么设置border和padding,横向布局都不会因此被挤到下一行,之前看有的博客说这个是怪异盒模型,让我对它产生了深深的无解(内心os:怪异盒模型,既然那么怪异,我就不用它了),但真正了解之后,我真的要给大家安利border-box了。至于content-box一般的div默认的box-sizing都是这个属性,所以大家应该很了解它了,我就不细说了。如果看完这篇独特的博客,你还不懂,请私信我或留言给我,如果看完这篇博客,你能真正理解border-box和content-box那请给我点赞哦,ღ( ´・ᴗ・` )比心

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值