我将开始开发一个新网站,并准备处理浏览器用来计算元素宽度和高度(box model stuff)的不同方法。不知何故,我突然想到:如果我只将box-sizing应用于网站中的所有元素,会怎么样?
我是那些相信box-sizing: border-box;是CSS中最好的命令之一的人之一,尽管它有所有的局限性。然而,这些相同的限制让我怀疑是否应该将box-sizing应用于所有元素:
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }当然,我的网站应该与尽可能多的浏览器兼容,当我们想到ie7时,box-sizing会产生一些问题。然而,有时日程安排很紧,如果不担心这个特定的问题就能多争取几分钟,那就太好了。
无论如何,您认为将box-sizing:border-box;应用于所有元素是一个好策略,还是应该仅对实际需要它的元素继续这样做?
发布于 2012-05-23 23:36:55
我认为这是一个很好的想法。事实上,我将开始在我的网站上做同样的事情。
在这里,Paul谈到了以同样的方式使用它
http://paulirish.com/2012/box-sizing-border-box-ftw/
我们已经在我的一个项目中使用了*{box- fine : border-box;} (部署在生产环境中,平均每月访问量超过100万次),现在已经有一年了,而且看起来还不错。该项目已经在IE8 &9以及最新的火狐和Chrome版本中进行了测试,我们没有遇到任何问题。所有的jQuery (+UI)偏移量计算和动画都运行得很好,甚至在我们显示为inline-block的任何元素中也是如此。到目前为止,我们已经开始在移动设备(iPhone,iPad和安卓)上测试这个项目,我们还没有遇到任何一个盒子大小的问题,所以它看起来工作得很好。
我发现这有助于解决IE7中的问题
https://stackoverflow.com/questions/10722841
复制相似问题