我已经使用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
}
正如您所看到的,有两个例子。一个只有一行,另一行在一个标签中有不同的命令。我想知道为什么以及为什么要这样做?!!在学校,他们没有告诉我们任何有关这方面的事情。我只用“和”关闭最后一行或唯一一行它完美无缺。
那么,这是做到这一点的原因?它更安全吗?
答案 0 :(得分:5)
Šime Vidas' response相关问题在此处也有效。分号是分隔符,因此最终属性不需要分隔。
但是,我不推荐它,因为在你需要在CSS规则的末尾添加另一个属性的情况下,你很可能会错过分号的需要而你的CSS会破坏
答案 1 :(得分:2)
ruleset : selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*;
正如您所看到的那样,并不意味着在大括号中终止;
。
答案 2 :(得分:1)
分号是一个分隔符:它将事物分开。最后一项不需要与后面的任何内容分开。
答案 3 :(得分:1)
分号分隔不同的线条,所以如果你到达了最后一行,就不需要放入分号,因为你会看到一个不仅关闭线条的支撑,而且还会关闭块。
无论如何,我个人更愿意放入分号,但你可以自由地将它排除在外。
同时退房; http://www.pagetoscreen.net/journal/item/the_missing_semi-colon/
答案 4 :(得分:0)
由于它是规则中的最后一行,因此它与下一个规则之间不存在歧义,因为没有。这就是为什么可以离开最后一个分号。否则它不会带来任何好处或性能提升。