代码之家  ›  专栏  ›  技术社区  ›  Christopher Altman

保证金是多少-left:2px; 渲染速度比margin:0 0 0 2px;?

  •  5
  • Christopher Altman  · 技术社区  · 16 年前

    这让我想知道,在页面的初始呈现过程中(或者用Crockford的行话来说是“web卷轴”),编写只定义非零/非默认值的CSS是否更快?举个例子:

    div{  
      margin-left:2px;  
    }
    

    div{  
      margin:0 0 0 2px;  
    }
    

    我知道这种“节省”的后果是微不足道的,但我认为理解这些技术是如何实现的仍然很重要。而且,这不是一个关于格式化CSS的问题——这是一个关于呈现CSS的浏览器实现的问题。

    http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-4

    2 回复  |  直到 11 年前
        1
  •  1
  •   orokusaki    16 年前

    不,根据浏览器的不同,在应用样式之前,它会以不同的方式解压值,在Firefox中,它会对执行速度产生轻微影响。不管怎样,使用简写CSS都是个好主意。

    如果您想了解它的工作原理,Firefox会解压以下值:

    {margin: 0 0 0 2px;}
    

    {margin-top: 0pt;margin-right: 0pt;margin-bottom: 0pt;margin-left: .04pt;}
    

    在将样式应用于页面之前。这是为了正常化。

        2
  •  2
  •   Mitch Dempsey    16 年前

    我不确定它是否“渲染”得更快。但是:第二个版本比第一个版本大几个字节(我假设网络比页面呈现时间慢,使得第一个版本实际上“呈现得更快”)