经过代码审查,我删除了不必要的属性,因此导致规则为空。
现在我有一个类似这样的问题:
table.foo
{
}
table.foo td.bar
{
padding: 5px;
}
现在,关于这个空表规则,最好的行动方案是什么?删除它还是保留它?有没有要求声明父元素才能定义其子元素?实际上,没有声明也可以正常使用,但可能存在一些验证考虑因素。欢迎提出任何意见。
经过代码审查,我删除了不必要的属性,因此导致规则为空。
现在我有一个类似这样的问题:
table.foo
{
}
table.foo td.bar
{
padding: 5px;
}
现在,关于这个空表规则,最好的行动方案是什么?删除它还是保留它?有没有要求声明父元素才能定义其子元素?实际上,没有声明也可以正常使用,但可能存在一些验证考虑因素。欢迎提出任何意见。
不需要空规则。
每个规则都是独立的(也就是说,规则的选择器提供了上下文),所以您不需要为table.foo
添加一个空规则,以便在table.foo td.bar
中有一个规则。
熔岩流是一种不好的编程反模式,它意味着人们倾向于保留他们不确定是否需要的代码,只是因为他们不想破坏代码。 但是,如果您的代码没有必要,那么请摒弃它!
我猜你对CSS还比较新,但显然你对编程并不陌生,所以我想指出一些有用的框架,可以提供样例、一致的风格和快速解决问题。
YUI的CSS资源 http://developer.yahoo.com/yui/grids/
以及Blueprint CSS http://www.blueprintcss.org/
此外,YUI theater还有一些很好的入门视频。
希望这能帮到你。
从功能角度来看,这是完全不必要的。而且你安排事物的方式也完全没有必要。
备选的CSS组织方案(例如按层次缩进)可以使其变得有价值。如果我有一个带有子元素的元素,我通常会留下一个空选择器,至少在完成项目并进行优化之前,因为它有助于保持组织,并且有很大的可能性我将来会对该元素应用样式。
以防有人遇到和我一样的问题,这里是一个案例:当一个空规则确保接下来的规则不被忽略时,就会出现这种意外。在我的规则之前有一个额外的闭合括号,而空规则帮助重新同步解析器。
当然,正确的修复方法是修复语法并删除空规则。