jquery - 省略 CSS block 的最后一个分号

标签 jquery css syntax

关于这个的几个问题:

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

我的意思是这样的:

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

最佳答案

Is it good practice?

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

假设您开始于:

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

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

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

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

Will it, on a large scale, result in better load times?

毫无疑问,对于每个 block ,您都会节省几个字节。这些加起来,尤其是对于大型样式表。与其自己担心这些性能提升,不如使用 CSS 压缩器,例如 YUI Compressor自动为您删除结尾的分号。

Can it result in browsers 'breaking'?

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

A declaration is either empty or consists of a property name, followed by a colon (:), followed by a property value.

更重要的是:

...multiple declarations for the same selector may be organized into semicolon (;) separated groups.

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

Is the same true for the last function in JavaScript?

JavaScript 是完全不同的野兽,具有完全不同的规范。这个特定问题已得到深入解答 many times before on Stack Overflow .

关于jquery - 省略 CSS block 的最后一个分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939595/

相关文章:

javascript - 如何设置 JQuery 自动完成标题

JavaScript - 如何在 Mouseover/Mouseout 上同时更改 TR 中所有 TD 的背景颜色?

jquery - 滚动 div 中的重叠 droppable

javascript - 0x000000 作为 JavaScript 中的值在语法上如何有效?

swift - 为什么是x? = y Swift 中的有效语法?

syntax - 要使用哪种 Wiki 文本语法或 Markdown?

php - 提交事件后在 tr 中添加新的 td

javascript - 使用不同的企业 ID 时,trustpilot 轮播不工作

jquery - 更改插件的默认值

javascript - 突出显示选定的表格行