1.content-box 是默认值。如果你设置一个元素的宽为100px,那么这个元素的内容区会有100px宽,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。
2.border-box 告诉浏览器去理解你设置的边框和内边距的值是包含在width,height内的。也就是说,如果你将一个元素的width设为100px,那么这100px会包含其它的border和padding,内容区的实际宽度会是width减去border + padding的计算值。大多数情况下这使得我们更容易的去设定一个元素的宽高。
全局设置 border-box 很好,更符合我们通常对一个「盒子」尺寸的认知。,其次它可以省去一次又一次的加加减减,它还有一个关键作用:让有边框的盒子正常使用百分比宽度。但是使用了 border-box 可能会与一些依赖默认 box-sizing 的库冲突,不过这种问题大多数时候可以通过把交由这些库处理的块的 box-sizing 设置回 content-box 来解决。
html {
box-sizing: border-box;
}
*,*::before,*::after {
box-sizing: inherit;
}
说明:
选择器 * 无法覆盖到伪元素,所以需要给 :before 和 :after 分别设置。
box-sizing: border-box 添加padding 或者border 不影响元素的width 或者height 。
box-sizing: inherit 使元素尊重其父元素box-sizing 规则。
css盒子模型用于处理元素的内容、内边距、边框和外边距的方式简称。css盒子模型到底的思想是什么?CSS盒子模型对行内元素和块级元素的区别和特点,Box-sizing的使用。
box-sizing属性用来定义元素的width和height所表示的区域,该属性一般有三种值:content-box、border-box、inherit,其中inherit表示box-sizing的值应该从父元素继承。
box-sizing用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型。它有content-box、border-box和inherit三种取值,inherit指的是从父元素继承box-sizing表现形式。根据项目中的使用经验和w3c的建议,推荐将box-sizing属性设置为border-box。
CSS3中的box-sizing 属性允许以特定的方式来指定盒模型,有两种方式:现代浏览器和IE9+默认值是content-box。 content-box:padding和border不被包含在定义的width和height之内。
在JS中通过相关的属性可以获取(设置)元素的样式信息,这些属性就是盒子模型属性(基本上都是有关于样式的),clientWidth & clientHeight:获取当前元素可视区域的宽高
利用伪元素before、after,只创建一个div,一个盒子里面装两个同宽高的盒子,利用backface-visibility设置元素背面是否可见的属性,达到两面翻转的效果
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!