当前位置: 首页 > 面试题库 >

省略CSS块的最后一个分号

姬墨竹
2023-03-14
问题内容

关于此的几个问题:

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

我的意思是这样的:

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

问题答案:

这是好习惯吗?

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

假设您从以下内容开始:

.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中的最后一个函数也是如此吗?



 类似资料:
  • 问题内容: 第二行的CSS ,这可能吗?我在网上找不到。 例: 我想要的是这样的: 但这是怎么回事: 问题答案: 工作要求是(,等)的单行版本。这意味着文本永远不会到达第二行。 嗯 在纯CSS中不可能。 编辑 如果优秀的CSS众神将实现我们可以使用(new)和(new)在纯CSS中进行模糊处理。 编辑2 WebKit / Blink具有:将省略号放在第二行。

  • 问题内容: 我有一个基于flexbox的布局。两列,一列固定大小,第二列需要占用其余空间。在成长列中,我有一个字符串,希望将其剪切掉。 在Chrome中可以正常运行。但它在Firefox和IE中不起作用。我试图通过使用相对位置和绝对位置来给grow(flex item)内部元素一个宽度来修复它,但是随后我得到了一个损坏的布局。损坏与元素的高度未考虑其所有子元素有关。 注意:flex grow项目内

  • 现在的情况是这样,最后多出一个背景快,怎么去掉呢

  • 我得到: 在这里,我本来希望得到一个,但不知何故解析成功了,并且在末尾丢失了令牌数据的无效位。 问题是: 然后我进一步钻探,发现令牌#NextToken()抛出了一个异常,文档使它看起来不应该发生这种情况,所以我最终为此提交了一张罚单。

  • 省略 不推荐省略 0 值单位,原因如下: CSS 规范中可以省略单位只有 [<length-percentage>](https://drafts.csswg.org/css-values-3/#typedef-length-percentage),其他比如角度单位 deg 在 Chrome 中可以省略, 这是浏览器的 Bug。 注:可以省略的单位包括:%|em|ex|ch|rem|vw|vh|v

  • 我不知道为什么这个简单的CSS不起作用... null null 应该在第4次“测试”前后切断