根据this article,我们应遵循以下方法:
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
但是我认为这更正确:
*, *::before, *::after { box-sizing: border-box; }
因为*包含html,伪元素前面带有:::,而不是:对应于伪类。
我是否将规则正确地应用于整个文档?我不想在任何地方使用content-box
。
答案 0 :(得分:1)
让我弄清楚答案,
最早的框大小:border-box;重置看起来像这样:
* {
box-sizing: border-box;
}
这工作得很好,但是它省略了伪元素,这可能导致一些意想不到的结果。很快出现了涵盖伪元素的修订后的重置:
通用框大小
*, *:before, *:after {
box-sizing: border-box;
}
此方法还选择了伪元素,从而改善了边界框的标准化效果。但是,*选择器使开发人员难以在CSS的其他位置使用content-box或padding-box。这使我们成为了当前的最佳实践领跑者:
如果它解决了您的问题,请投票以感谢社区花费时间和帮助。 如果您有任何疑问,请随时提问。 谢谢。