我正在使用一个 polyfill,以便 box-sizing 应该适用于所有支持 JS 的浏览器,以防止出现如下布局问题:
<script type="text/JavaScript">
//extend modernizer
Modernizr.addTest("boxsizing", function() {
return Modernizr.testAllProps("boxSizing") && (document.documentMode === undefined || document.documentMode > 7);
});
$(function(){
if( !($('html').hasClass('boxsizing')) ){
$('.boxSized, .boxSized *').each(function(){
var fullW = $(this).outerWidth(),
actualW = $(this).width(),
wDiff = fullW - actualW,
newW = actualW - wDiff;
$(this).css('width',newW);
});
}
});
</script>
但是,当浏览器未启用时查看此代码,box-sizing:
它会求助于使用这个简短的 polyfill,我认为这不会对网站性能产生太大影响?
目前我的问题如下,我正在使用前缀元素,例如
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
我想知道前缀元素现在是否是多余的,因为 polyfill 会覆盖它们,或者拥有它们是否仍然有好处等?