我搜索过,但我没有得到具体答案。
我会问一个简单的问题
这样做更有效:
body > html > section > div.class1,
body > html > section > table > tbody > tr > td > div.class1
{
background-color : red;
}
或者这个:
div.class1 {
background-color: red;
}
答案 0 :(得分:4)
浏览器将检查并转换您提供给它们的每个代码(包括HTML和CSS),对于每个选择器,浏览器将属性设置为正确的HTML标记。对于非常小的网站,它不会影响很多,但对于像亚马逊这样拥有超过100万行代码的大型网站,它会影响很多性能。
我认为这是一个很好的例子:https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/#Main_flow_examples
答案 1 :(得分:2)
特异性越低越快。每个选择器都是循环的另一个运行。规则 在3个选择器之后,深度穿孔将开始受到影响。
https://csswizardry.com/2011/09/writing-efficient-css-selectors/
另请注意,well perf是有问题的,当您指定太深时,真正的性能打击。我保证长期维护成为真正的问题。再深入3个选择器也是一个很好的经验法则。
最后,如果您需要有关css结构/架构的帮助,请尝试:
2- https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/