在标准盒模型下设置的width和height只是内容的宽和高,但在设置了宽和高的状况下若还要设置border、margin、padding等时,会发生溢出的现象,所以须要将盒模型更改。css
box-sizing
属性用来改变默认的 CSS 盒模型对元素宽高的计算方式。这个属性能够用于模拟那些非正确支持标准盒模型的浏览器的表现。浏览器
content-box
ui
默认值,标准盒模型。 width
与 height
只包括内容的宽和高, 不包括边框(border),内边距(padding),外边距(margin)。注意: 内边距, 边框 & 外边距 都在这个盒子的外部。 好比. 若是 .box {width: 350px}; 并且 {border: 10px solid black;} 那么在浏览器中的渲染的实际宽度将是370px;
尺寸计算公式:width = 内容的宽度,height = 内容的高度。宽度和高度都不包含内容的边框(border)和内边距(padding)。spa
border-box
(其实box-sizing:border-box就是采用怪异模式下的盒模型来计算宽和高的)。 width
与 height
包括内边距(padding)与边框(border),不包括外边距(margin)。这是IE 怪异模式(Quirks mode)使用的 盒模型 。注意:这个时候外边距和边框将会包括在盒子中。好比 .box {width: 350px; border: 10px solid black;} 浏览器渲染出的宽度将是350px
. 若是计算后的最内部的内容宽度为负值,都会被计算成0,内容还在,因此不可能经过border-box来隐藏元素。
尺寸计算公式:width = border + padding + 内容的宽度,height = border + padding + 内容的高度。code
支持目前的全部Firefox, Chrome, Safari, Opera版本的浏览器以及 IE8+以上的IE浏览器
token