【发布时间】:2011-04-03 06:35:54
【问题描述】:
我将如何测试不同 CSS 选择器的性能基准?我读过this 之类的文章。但我不知道它是否适用于我的网站,因为他使用了一个包含 20000 个类和 60000 个 DOM 元素的测试页面。
我什至应该在意吗,性能真的会根据您采取的 css 策略而降级这么多吗?
例如,我喜欢这样做......
.navbar { background:gray; }
.navbar > li { display:inline;background:#ffffff; }
<ul class="navbar">
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
</ul>
...但我可以这样做...
.navbar { background:gray; }
.navbar-item { display:inline;background:#ffffff; }
<ul class="navbar">
<li class="navbar-item">Menu 1</li>
<li class="navbar-item">Menu 2</li>
<li class="navbar-item">Menu 3</li>
</ul>
有些人会说(并且可能是正确的)第二种选择会更快。
但是,如果您在所有页面上乘以第二种方法,我会看到以下缺点:
- 页面大小会增加,因为所有元素都有类
- css 类的数量可能会变得很大,这需要更多的 css 类解析
我的页面似乎有大约 8KB 大小,包含大约 1000 个 DOM 元素。
所以我真正的问题是如何创建一个测试平台,以便我可以根据针对实际网页大小采取的策略来测试性能增量?具体来说,我怎么知道页面显示需要多长时间? javascript?具体怎么样?
欢迎提供帮助和简单的意见!
【问题讨论】:
-
看看 Firefox/Firebug 的 Google Page Speed 插件 - code.google.com/speed/page-speed
-
不是一个体面的答案,但可能很有见地:developer.mozilla.org/en/Writing_Efficient_CSS 我几周前才知道标签桶是什么,但听起来对性能很有用。
-
只是想补充一点,Google 创建了一个页面,该页面重申了 Stephan 链接的 Mozilla 页面中的一些要点。 developers.google.com/speed/docs/best-practices/rendering
-
8KB 远不是大尺寸。 Bootstrap 是那个大小的 10 倍。
标签: html css performance