Visual Studio代码CSS错误"Do not use empty rulesets"

Visual Studio Code CSS error "Do not use empty rulesets"

我一直在为 HTML 和 CSS 使用 Visual Studio 代码。我收到一个不会损害网站的错误,但我想了解更多信息。当我将鼠标悬停在 HTML 中某个 ID 的样式上时,会弹出一个框并显示。 "Do not use empty rulesets"。

任何人都可以提供有关 "empty rulesets" 的更多信息并解释为什么 Visual Studio 代码(或任何其他编辑器)会警告空规则集吗?

在 CSS 中,ruleset 是构成样式表的基本构件之一:

.example {
    font-size: 1.25rem;
    color: red;
}

空规则集没有任何 属性 声明,只有一个选择器:

#id {
}

如您所见,这些规则对文档的呈现没有任何影响,但 some browsers will consume them 在评估 CSS 时却什么也找不到。性能狂热者 厌恶 任何这种不必要的开销,因此为了清洁起见最好擦洗它们。事实上,CSS Lint 有一个专门针对空规则集的规则,而 Code 只是用相同的规则集即时检查你的 CSS。

但是,空规则集可用于解决某些浏览器错误,例如 this one。在这种情况下,删除空规则集实际上会对页面呈现产生不利影响,因此应该将它们留在那里,最好用注释记录它们的用途。

您可以通过在 settings.json 文件中将 css.validate 设置为 false 来禁用 linting。请参阅 documentation 了解如何执行此操作。