首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >省略CSS块的最后一个分号

省略CSS块的最后一个分号
EN

Stack Overflow用户
提问于 2012-08-13 17:52:37
回答 9查看 29.6K关注 0票数 65

有关这方面的几个问题:

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

我的意思是像这样的事情:

代码语言:javascript
复制
#myElement {
  position: absolute;
  top: 0;
  left: 0
}
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-08-13 18:06:43

这是很好的实践吗?

手动排除分号是不好的做法。这纯粹是因为在添加更多样式时很容易忽略,特别是在团队中工作时:

想象一下,你从以下方面开始:

代码语言:javascript
复制
.foo {
    background-color: #F00;
    color: #000             <-- missing semi-colon
}

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

代码语言:javascript
复制
.foo {
    background-color: #F00;
    color: #000             <-- missing semi-colon
    width: 30px;
    z-index: 100;
}

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

会不会在大范围内导致更好的加载时间?

最明确的是,对于每一个块,您将节省几个字节。这些加在一起,特别是对于大型样式表。与其自己担心这些性能的提高,不如使用CSS压缩器(如YUI压缩机 )为您自动删除结束分号。

会导致浏览器崩溃吗?

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

声明要么为空,要么由一个属性名组成,后面跟着一个冒号(:),然后是一个属性值。

更重要的是:

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

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

对于JavaScript?中的最后一个函数是相同的。

JavaScript是一个完全不同的野兽,有着完全不同的规范。这个特别的问题已经得到了深入的很多次以前在堆栈溢出回答。

票数 96
EN

Stack Overflow用户

发布于 2012-08-13 17:56:17

  • 不,忽略分号会在应用程序中带来很大的风险,如果向元素中添加更多样式,就很容易忽略添加分号。在这一点上,您依赖于您的手动处理和注意细节,以确保您没有意外错位在您的非分号线。更糟糕的是,每次准备投入生产时,您都必须亲自检查css文件,以确保没有在每个元素中搞砸任何最后的样式行。
  • 可能,因为文件会更小,但是差别应该可以忽略不计。如果您担心加载时间问题,那么在将文件放置到服务器上之前,齐平将很好地为您服务。
  • 大多数浏览器都足够聪明,能够理解您的意思,但是您仍然需要担心不小心使用最后一种样式来破坏您的CSS文件。
票数 12
EN

Stack Overflow用户

发布于 2012-08-13 17:56:56

  • 这是很好的练习吗?

在我看来,没有。如果在最后一个规则下面添加了一个规则,那么很容易忘记添加分号。

  • 它会不会大规模地导致更好的加载时间?

无法想象它会对加载时间产生很大的影响。

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

不,分号只需要分隔CSS块中的规则。分号是分隔符,而不是终结符。

  • Javascript (/jQuery)中的最后一个函数也是如此吗?

是的,不要在JavaScript解释器中添加分号。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11939595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档