如何处理空CSS规则?

如何处理空CSS规则?,css,Css,在一些代码检查之后,我删除了不必要的属性,这导致了空规则 所以我知道这样的事情: table.foo { } table.foo td.bar { padding: 5px; } 现在,关于这个空表规则,最好的做法是什么?把它拿走还是留下?是否需要声明父元素才能在其上定义子元素?它在没有它的情况下实际上可以正常工作,但是可能有一些验证方面的考虑?欢迎任何输入。不,您不需要空规则 每个规则都独立存在(也就是说,规则的选择器提供了上下文),因此您不需要为table.foo使用空规则,就可

在一些代码检查之后,我删除了不必要的属性,这导致了空规则

所以我知道这样的事情:

table.foo
{
}

table.foo td.bar
{
    padding: 5px;
}

现在,关于这个空表规则,最好的做法是什么?把它拿走还是留下?是否需要声明父元素才能在其上定义子元素?它在没有它的情况下实际上可以正常工作,但是可能有一些验证方面的考虑?欢迎任何输入。

不,您不需要空规则


每个规则都独立存在(也就是说,规则的选择器提供了上下文),因此您不需要为
table.foo
使用空规则,就可以为
table.foo td.bar

创建规则。熔岩流是坏的!熔岩流是一种编程反模式,本质上意味着人们倾向于留下他们不确定是否需要的代码,只是因为他们不想破坏东西。但是,您的代码在没有它的情况下可以工作,所以请将其删除

我认为您对CSS有点陌生,但显然您对编程并不陌生,所以我想我会指出一些有用的框架,用于示例、一致的样式和快速跳转

YUI的CSS资源

和蓝图CSS

另外,YUI剧院有一些很好的介绍视频


希望有帮助。

不,你真的不需要离开这个。它只会让你的项目的CSS更大。除非你厌倦了组织,否则你应该让这样的事情发生。

从功能的角度来看,这是100%不必要的。从风格的角度看,你安排事情的方式也完全没有必要


替代CSS组织方案(例如,分层缩进)可以让它变得值得。如果我有一个有孩子的元素,我通常会留下一个空的选择器,至少在我完成项目并进行优化之前是这样,因为这有助于保持事情的有序性,而且很有可能我以后至少会对该元素应用样式。

查看-它会在页面中找到所有未使用的CSS选择器,甚至是整个网站

万一有人带着我遇到的同样的不幸来问这个问题,这里有一个例子,一个空规则实际上会确保下面的规则不会被忽略。在空规则之前的规则中有一个额外的右括号,空规则有助于重新同步解析器


当然,正确的修正是修正语法;并删除空规则。

同意。td.bar规则中明确说明了table.foo的存在——在空规则中没有有用的历史记录或意图,而在“活”规则中没有。我有时会将其保留为空,并使用缩进选择器来帮助组织。要点如下。缺点包括下载更大的CSS文件、“臃肿”的规则列表等,但我可以想象,该组织可能会战胜这些担忧。(为了抵消这些负面影响,我喜欢山姆·德法比·凯恩的优化步骤,假设所讨论的项目达到了一个有意义的“结束”。)这是我第一次遇到这个术语。我喜欢它。“现有代码被视为一种历史好奇心”。