Nik*_*ria 5 css performance css-selectors
在为特定元素定义CSS 时,如果我们在讨论网页的速度/准确性/处理时指定精确路径会有什么不同吗?
例如,如果我只在表格的第3列中输入文本,这对于速度,准确度,处理和其他参数更好?
选项1:
table input[type="text"]
{
background:yellow;
}
Run Code Online (Sandbox Code Playgroud)
方案2:
table td:nth-child(3) input[type="text"]
{
background:yellow;
}
Run Code Online (Sandbox Code Playgroud)
不,添加更多复合选择器只会给浏览器提供更多要检查的元素,从而开展更多工作.
如果输入只出现在特定的地方,并且您可以保证它们永远不会出现在给定页面中的任何其他地方,那么无论如何精确地使您的选择器超出input[type="text"]都是无关紧要的,因为无论如何它总是以同一组元素为目标.您添加的任何额外检查都会变得多余.
但真正的问题是表现在这里是否重要.除非你有成千上万的这样的元素,否则答案是否定的.尽可能具体.如果您需要上下文选择器以确保您不会意外地定位错误的元素,那么将它们放入其中是没有害处的.