2014-09-19 63 views
4

我最近一直在清理别人做的杂乱的CSS模板。除此之外,还有很多未使用的类,重复的选择器要合并等等。空的声明块是否有任何用途?

我不确定的一件事:空声明块。有10-20个选择器没有附加任何样式信息。

片段1:

/* Thead */ 
thead th {padding: .5em .4em; text-align: left;} 
thead td {} 

/* Tbody */ 
tbody td {padding: .5em .4em;} 
tbody th {} 

tbody .alt td {} 
tbody .alt th {} 

/* Tfoot */ 
tfoot th {} 
tfoot td {} 

片段2:

#extras ul { 
    list-style: none; 
    margin: 0; 
} 

    #extras li {} 

难道这些空声明任何作用?我的猜测是他们是占位符,以防设计师想要回来添加一些东西。

如果我完全删除这些语句,该网站看起来“很好”,但理想情况下,我会在我承诺之前有一个直接的答案。

搜索尝试主要是讨论:empty伪类。

MDN's CSS reference状态下面,这并不完全回答这个问题:

一个声明块可能是空的,即包含空声明。

这里有一个目的,我失踪了吗?

+0

除了占位符之外没有任何用途。删除它们。 – 2014-09-19 21:13:48

+0

任何一个空的声明块绝对不会做任何事,或者我必须检查我所知道的关于CSS的所有内容! – LcSalazar 2014-09-19 21:14:13

+1

人们可以通过CSSOM API在技术上访问这些块并向它们添加声明,但我猜想有不超过0.01%的Web应用程序会这样做。 – 2014-09-19 21:18:38

回答

2

具有空声明块的规则对浏览器没有任何作用。相反,他们会使页面加载速度稍微慢一些。您可以删除它们而不更改结果。

我在使用CSS时定期创建空白规则,但通常在页面形成时将其删除。即使在发布代码时,有时仍会留下一些空的规则。

在CSS中约有10-20个空白规则并不会带来明显的差异。它可能会在几毫秒内减慢页面的加载速度,因此本身无法衡量,但您应该尽可能保持代码的清洁。在这里和那里削减毫秒加起来。

相关问题