CSS:为速度/准确度指定特定元素的确切路径是否重要?

时间:2014-09-16 12:55:09

标签: css performance css-selectors

在为特定元素定义CSS时,当我们讨论网页的速度/准确度/处理时,指定确切路径会有什么不同吗?

例如如果我在表格的第3列中输入 ONLY ,那么速度,准确度,处理和其他参数会更好吗?

选项1:

table input[type="text"]
{
    background:yellow;
}

选项2:

table td:nth-child(3) input[type="text"]
{
    background:yellow;
}

1 个答案:

答案 0 :(得分:7)

不,添加更多复合选择器只会给浏览器提供更多要检查的元素,从而开展更多工作。

如果输入只会出现在特定的地方,并且您可以保证它们永远不会出现在给定页面中的任何其他位置,那么无论如何精确地使您的选择器超出input[type="text"]是无关紧要的,因为它始终会定位无论如何都是相同的元素集。您添加的任何额外检查都会变得多余。

但真正的问题是表现在这里是否重要。除非你有成千上万的这样的元素,否则答案是否定的。尽可能具体。如果您需要上下文选择器以确保不会意外地将错误元素作为目标,那么将它们放入其中是没有害处的。