4

我使用 CSS 已经有一段时间了,我发现在很多教程和练习中,CSS 标记的最后一行没有“;” 添加到它。例如:

ul li:hover ul { 
    display: block
}

ul li ul {
      list-style: none;
      position: absolute;
      display: none;
      width: 104px;
      height: 100px;
      background-image: url(../_img/nav/dropdownbg.1.png);
      background-repeat: no-repeat;
      background-position: center;
      background-position: top
}

如您所见,有两个示例。一个只有一行,另一个在一个标签中有不同的命令。我想知道为什么以及有什么理由这样做?!在学校,他们没有告诉我们任何关于这件事的事情。我只是用和“;”关闭最后一行或唯一一行 它工作得很好。

那么,这样做的原因是什么?是不是更安全?

4

5 回答 5

6

Šime Vidas 对相关问题的回答在这里也是有效的。分号是分隔符,因此不需要分隔最终属性。

但是,我不推荐它,因为在您需要在 CSS 规则的末尾添加另一个属性的情况下,您很可能会错过对分号的需求并且您的 CSS 会中断。

于 2012-08-21T13:19:10.003 回答
2

规格说_

ruleset     : selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*;

如您所见,这并不意味着;以花括号结尾。

于 2012-08-21T13:17:46.510 回答
1

分号是一个分隔符:它分隔事物。最后一项不需要与后面的任何内容分开。

于 2012-08-21T13:15:42.097 回答
1

分号分隔不同的行,所以如果你已经到了最后一行,就不需要输入分号,因为你会看到一个大括号,它不仅关闭了行,还关闭了块。

无论如何,我个人更愿意输入分号,但您可以随意将其省略。

也退房;http://www.pagetoscreen.net/journal/item/the_missing_semi-colon/

于 2012-08-21T13:16:33.157 回答
0

由于它是规则中的最后一行,因此它与下一条规则之间没有歧义,因为没有。这就是为什么可以去掉最后一个分号的原因。否则,它不会提供任何好处或性能提升。

于 2012-08-21T13:14:53.970 回答