CSS box-sizing

CSS框属性的基本规范中指出:文档的每个元素都被构造成文档布局内的一个矩形框,矩形框的每一层的大小都可以使用特定CSS属性进行调制。

盒模型

块元素的盒子模型结构

  • content表示内容框是盒子中内容显示的区域,widthheight属性用与设置内容框的宽度和高度。
  • padding表示CSS框的内边框,位于内容框外边缘与边界的内边缘之间
  • border表示CSS框的边界,它是一个分隔层,位于内边距外边缘与外边距的内边缘之间。
  • margin表示CSS框的外边距,即CSS框周围的外部区域。

box-sizing

box-sizing属性用于更改计算元素宽度和高度默认的CSS盒子模型,使用此属性可用来模拟无法支持CSS盒子模型规范的浏览器行为。

属性值描述
content-box默认,正常盒模型, width = content。
border-box异常盒模型,width = content + padding + border。

正常盒模型

正常盒模型是指块元素的box-sizing属性为content-box的盒模型,现代浏览器中使用的均为正常的盒模型,也是标准W3C的盒模型。

正常盒模型是指盒模型的大小仅包括content部分,正常盒模型的大小以content内容优先自动扩展,当内部元素超过父容器给定的大小时会将父容器撑大。

正常盒模型

content-box是指块元素内容的widthheight决定了元素的宽度和高度,这意味着元素的borderpadding不能计算在元素的widthheight之中,paddingborder的改变不会改变到元素的widthheight

box-sizing:content-box;

怪异盒模型

怪异盒模型是指块元素的box-sizing属性设置为border-box的盒模型,border-box是在文档处于Quirks怪异模式时Internet Explorer默认使用的盒子模型,由于自身的特殊性,移动端页面也会使用到怪异盒模型。

怪异盒模型

怪异盒模型是先做盒子,然后再添加borderpadding,最后再做content。即保证盒模型优先,先做盒再放内容,不管内容是否放得下。一般移动端页面使用较多,在怪异盒模型中父容器的盒模型一旦确定,子元素是无法撑开父容器的盒模型的,只能在盒模型的剩余空间中进行展示。

border-box是指元素的widthheight由元素内容和paddingborder三者共同决定,换句话说,元素的宽高受到内容宽度、paddingborder三者的影响。

box-sizing:border-box;

默认情况下,元素的宽度等于内容框的宽度即width = content,当使用box-sizing:border-box属性控制后,框模型则会发生变化,此时元素的width = content + padding + border

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值