【问题标题】:With CSS properties, which is more work for the browser?使用 CSS 属性,哪个更适合浏览器?
【发布时间】:2011-10-13 20:28:28
【问题描述】:

我想知道执行此语法的哪种方法更适合浏览器:

第一:

margin: 0;

第二:

margin-top: 0;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;

第三:

margin: 0 0;

最后,除了0px; 之外,同样的问题。

【问题讨论】:

    标签: css performance browser stylesheet


    【解决方案1】:

    在我看来,即使您使用 0,您也应该始终指定像 0px 这样的单位,以避免在将值更改为非零时忘记添加单位,但这是一个问题个人喜好。

    对于浏览器,这些都是等价的。浏览器理解任何与 CSS 下载时间相关的时间几乎可以忽略不计。出于这个原因,margin: 0px; 是最好的,因为它只有 12 字节,而您发布的最长版本(添加了 `px)单位)是 69 字节,因此下载的数据量几乎是 6 倍。

    无论如何,60 字节并不多,但如果你重复了很多,那么当它到线时,更短的语法会更快。阅读起来也更好:)

    【讨论】:

    • "You should specify a unit like 0px all the time even when you're using 0." - 为什么?
    • @thirtydot,因为 0 是唯一可以不指定单位的有效 css 值。但是最好还是指定一个单位(与您在整个页面中使用的单位相同),这样如果您或其他人稍后将其从 0 更改,您/他们就不会忘记添加该单位。
    • 这绝对是一个见仁见智的问题,但我不同意将单位保留为0。我的推理在这里涵盖:stackoverflow.com/questions/5359222/…
    • @thirtydot 是的。当我说“即使您使用 0 时,您也应该始终指定像 0px 这样的单位”时,我是在陈述我的观点。我应该更清楚的是,您是否将单位包括在 0 上是一个意见问题。
    • @thirtydot,我现在说得更清楚了,总是添加单位只是我的偏好。
    【解决方案2】:

    这可能不是您要寻找的答案,但我觉得...

    就计算机性能而言,这是 SOOOO 无关紧要的。更重要的是可读性和可维护性。对于贵公司在街上雇佣的人,您认为哪种变体最容易维护和理解?那是你应该选择的那个。

    【讨论】:

      【解决方案3】:

      这完全取决于浏览器的内部实现。对于任何给定的浏览器来说,最详细的定义很可能会稍微多一点工作,因为有更多的文本需要解析。但在实践中,CSS 引擎的速度非常快。这些都不足以影响处理时间。

      【讨论】:

        【解决方案4】:

        “工作”可以忽略不计。我想,从技术上讲,第二个会做更多的工作,因为它必须再解析 3 行而不是 1 行。第一个是我建议的方式。

        就个人而言,我总是这样做:

        margin: 0px 0px 0px 0px;
        

        如果我决定将来改变某些东西,只是为了提供帮助。

        不过,这真的不重要。它们之间的差异可以忽略不计

        【讨论】:

        • 14 个额外字符?如果您珍惜时间,则不会。
        【解决方案5】:

        出于性能原因,我也想知道这一点。

        如果您关心的是最大性能 - 假设浏览器没有重大差异 - 那么 margin: 0 将有助于降低 CSS 文件的整体重量。

        如果你经常使用 CSS,那么在心里推断 margin: 0;到简写甚至边距:4px 0 3px;应该不会有太大的飞跃。为什么要浪费时间打字和字重?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-12-14
          • 2010-11-23
          • 2013-03-02
          • 2012-06-11
          • 2016-03-17
          • 1970-01-01
          • 2016-05-02
          相关资源
          最近更新 更多