box-sizing取值如下:
box-sizing: content-box | padding-box | border-box
默认值是 content-box ,对应CSS2.1规范中标准的盒子模型计算方式,即 width 和 height 是内容区的宽与高, 不包括边框,内边距,外边距;
padding-box 根据MDN的说法,目前还是一个实验性的属性, width 和 height 包括内容区和内边距,不包括边框和外边据;
border-box 包括内边距与边框,不包括外边距。这是IE 怪异模式(Quirks mode)使用的 盒模型 。
例子(摘自MDN)
1 /* support Firefox, WebKit, Opera and IE8+ */2 3 .example {4 -moz-box-sizing: border-box;5 box-sizing: border-box;6 }
对JS的影响
根据MDN的叙述:
由window.getComputedStyle 获取height时不会考虑box-sizing, 至少 Firefox 18 (bug 520992) 与 Internet Explorer 9 是这样, 不过Chrome 24 不是(其它浏览器未测试). 注意 IE9 currentStyle 不能返回正确的height值。
关于Firefox 18及IE9之后的版本,我还没有测试。
关于jQuery中 .width() 和 .height() 的返回值
jQuery 1.8 版本之后增加了对 box-sizing 的支持,但这还与浏览器是否支持 box-sizing 有关,简而言之,1.8版本之后, .width() 和 .height() 返回的永远都是内容区的宽和高,见如下代码:
#container { -moz-box-sizing: border-box; box-sizing: border-box; width: 500px; padding: 5px; border: 5px solid gold; }
查看更多关于之一:box-sizing_html/css_WEB-ITnose的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did106507