是否可以在CSS文件中使用NOOP规则?

cla*_*aya 5 css minify

我正在对遗留代码进行一些重构,以将样式从html移动到样式表文件。我们的构建过程通过YUI压缩器压缩器运行样式表css文件。在效率方面,它消除了空.selector { }样式,请参见YuiDoc的“无空声明”部分

当代码在某些地方找到并修改样式表规则,但找不到缩小/剥离的规则时,就会出现问题。是否有noop规则,它们不会影响任何渲染,但会在样式表中保留有效的空规则?

Dav*_*her 6

根据W3C CSS2 规范

在 CSS 中,标识符可以以“-”(破折号)或“_”(下划线)开头。以 -' 或 '_' 开头的关键字和属性名称保留用于特定于供应商的扩展

因此,您可以创建自己的属性,例如-custom-noop: noop;,验证器不会抱怨太多。但是,如果您使用它,您可能会在旧浏览器中忽略块中的其他规则时遇到一些问题。

编辑:您可能对这种语法也有一些运气:

.someclass{
    /*! Keep Me */
}
Run Code Online (Sandbox Code Playgroud)

像这样的评论在压缩后保留,因此它可能有助于保留评论所在的块。请注意,压缩后!会被剥离,因此每次压缩时都需要将其添加回来。