Visual Studio代码CSS错误"不要使用空规则集"

Wyr*_*ain 25 html css visual-studio-code visual-studio-2017

我一直在使用Visual Studio Code for HTML和CSS.我收到的错误不会影响网站,但我想了解更多相关信息.当我将鼠标悬停在HTML样式的样式上时,会弹出一个框并说出来."不要使用空的规则集".

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

Bol*_*ock 37

在CSS中,规则集是构成样式表的基本构建块之一:

.example {
    font-size: 1.25rem;
    color: red;
}
Run Code Online (Sandbox Code Playgroud)

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

#id {
}
Run Code Online (Sandbox Code Playgroud)

正如您所注意到的,这些规则对文档的呈现没有任何影响,但是某些浏览器在评估CSS时会消耗它们而不会在那里找到任何内容.表演爱好者厌恶这种不必要的开销,所以最好为了清洁而擦洗它们.事实上,CSS Lint有一个专门针对空规则集的规则,而Code只是简单地使用相同的规则集动态地使用CSS.

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

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

  • 你也可以在你的用户设置中使用``css.lint.emptyRules':"ignore",`,如果你想要CSS linting但是在空CSS规则集下分散红线会分散注意力.(很多其他可定制的可能:只搜索"css.lint") (15认同)
  • 为了完全避免这种警告消息,我将以下定义放入设置中: "css.lint.emptyRules": "ignore", "less.lint.emptyRules": "ignore", "scss.lint.emptyRules" : “忽略”。这是为了涵盖所有类型的 CSS 文件和格式。 (3认同)
  • 或分别为less和sass的“” less.lint.emptyRules“:”忽略“,或” scss.lint.emptyRules“:” ignore“。我认为这些预处理器还是会删除空规则集。 (2认同)