小编典典

省略CSS块的最后一个分号

css

关于此的几个问题:

  • 这是好习惯吗?
  • 它将大规模地缩短加载时间吗?
  • 会导致浏览器“崩溃”吗?
  • JavaScript(/ jQuery)中的最后一个函数是否也是如此?

我的意思是这样的:

#myElement {
  position: absolute;
  top: 0;
  left: 0
}

阅读 711

收藏
2020-05-16

共1个答案

小编典典

这是好习惯吗?

手动排除分号不是一个好习惯。这纯粹是因为添加更多样式时很容易忽略,尤其是在团队中工作时:

假设您从以下内容开始:

.foo {
    background-color: #F00;
    color: #000             <-- missing semi-colon
}

然后有人添加了一些样式:

.foo {
    background-color: #F00;
    color: #000             <-- missing semi-colon
    width: 30px;
    z-index: 100;
}

突然,另一个开发人员在浪费时间弄清楚为什么他们的width声明不起作用(或者更糟的是,没有注意到它不起作用)。保留分号比较安全。

它将大规模地缩短加载时间吗?

最肯定的是,对于每个块,您将节省几个字节。这些加起来,尤其是对于大型样式表。不用担心自己会获得这些性能,最好使用CSS压缩器,为您自动删除结尾的分号。

会导致浏览器“崩溃”吗?

不,这很安全,因为浏览器可以正确实现规范的这一部分。CSS2规范因此定义了一个声明:

声明 为空或者包含一个属性名称,后跟一个冒号(:),接着一个属性值的。

更重要的是:

…同一选择器的多个声明可以组织为分号(;)分隔的组。

这意味着它;用于分隔多个声明,但不需要终止它们。

JavaScript中的最后一个函数也是如此吗?

2020-05-16