声明为空的 CSS 选择器 - 浏览器还会搜索吗?

use*_*809 2 html css performance

假设样式表中有一些选择器没有样式信息,因此它们实际上是空的(没有样式声明):

.main-menu {}
Run Code Online (Sandbox Code Playgroud)

浏览器还会搜索它们吗?

我的直觉是,这将取决于浏览器,因此“聪明”的程序员会说“如果选择器为空,请不要打扰”,但并非所有浏览器都会有这种开明的实现。快速搜索了一下,没有找到任何内容,想知道这里是否有人知道这方面的事情......

我确信最佳实践是不要使用带有空声明的选择器,因为它们浪费空间和时间,W3 对此有何说明吗?

谢谢!

Bol*_*ock 5

事实上,拥有空的 CSS 规则实际上可以解决某些浏览器中的一些错误,并导致其他浏览器中的错误。因此,有证据表明,无论如何,对于至少两个独立的实现,解析器不会完全忽略具有空声明块的 CSS 规则。

至于最佳实践?将它们排除在外,因为它们通常会占用不必要的字节,如果您有充分的理由使用它们,那么添加注释来解释它们的用途并不是一个坏主意。