box-sizing:border-box是我们最常用的盒子模型也比较直观,今天在看Bootstrap(http://www.bootcss.com/)时,发现这个还有有漏洞的。
如下:
*{
box-sizing: border-box;
}
这样所有的盒子模型都是标准模型,但是却忽略了伪类元素。
修改之后如下:
*, *:after, *:before{
box-sizing: border-box;
}
这样解决了伪类元素,但是 * 选择符使得开发人员很难在设置content-box和padding-box。
于是如下:
html{
box-sizing: border-box;
}
*, *:after, *:before{
box-sizing: inherit;
}
通常box-sizing是不继承的,所以他是专门的行为,与你通常在重置放置的不完全相同。
网友评论