盒模型的类型及其宽高的计算

盒模型的类型及其宽高的计算

css中的box-sizing可选为content-box或者border-box

注意:border-box不包含margin

  • content-box

    • 默认值,标准盒子模型。

    • width与height只包括内容的宽和高, 不包括边框(border),内边距(padding),外边距(margin)。

    • 注意: 内边距、边框和外边距都在这个盒子的外部。

    • 比如说,.box {width: 350px; border: 10px solid black;} 在浏览器中的渲染的实际宽度将是 370px。

    • 计算公式:

      width=内容的高度
      height=内容的高度
      宽度和高度的计算值都不包含内容的边框(border)和内边距(padding)。
      盒子的实际大小=边框+内边距+content
      盒子占据的空间=外边距+边框+内边距+content
      
  • border-box

    • width和height属性包括内容,内边距和边框,但不包括外边距。也叫IE盒模型

    • 注意,padding和border将在盒子内。

    • 例如, .box {width: 350px; border: 10px solid black;} 导致在浏览器中呈现的宽度为350px的盒子。

    • 内容框不能为负,并且被分配到0,使得不可能使用border-box使元素消失。

    • 计算公式:

      width = border + padding + 内容的宽度
      height = border + padding + 内容的高度
      盒子的实际大小=content
      盒子占据的空间=外边距+content
      

对计算公式的说明:难点在于理解计算公式中的width/height的含义,width/height的含义为你在css代码中设定的值。还需要区分盒子的实际大小和盒子占据的空间两个不同的概念,着重理解margin在两种盒模型中都是“局外人”,都得“另算帐”。

**注意:**在计算公式中的content是width和height所围绕的区域。

**例题:**一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px

假如用content-box,那么

盒子的实际大小为:

1*2 + 10*2 + 200 = 222px1*2 + 10*2 + 50 = 72px;

盒子需要占据的位置为:

222 + 20*2 = 262px70 + 20*2 = 112px

假如用border-box,那么

盒子的实际大小为:

200px、高 50px

盒子需要占据的位置为:

200 + 20*2 = 240px、高 50 + 20*2 = 70px

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值