我有两个关于重构旧CSS以提高性能的问题。
(1)以下与打印机相关的 CSS包含在common.css中,有些元素应用了选择器。它会影响浏览器渲染性能吗?换句话说,除了打印页面之外,浏览器是否使用CSS来检查元素是否与选择器匹配?
@media print
{
body * {visibility:hidden}
#xView, #xView * {visibility:visible; }
#xView {position:fixed;}
}
(2)如何评估refacotring后的性能提升?
感谢。
答案 0 :(得分:2)
这不是一个很大的代码,所以谈论性能似乎有点偏离主题,但仍然 - 如果你使用“*”选择器,它将不会很快。如果你设置一个容器的可见性而不是内部的每个元素,那会好得多。
关于性能测试的主题 - 一个很好的阅读:
http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/
http://blog.archive.jpsykes.com/151/testing-css-performance/
您还可以在Firebug中测试页面加载时间,但我不知道结果的准确性。
答案 1 :(得分:1)
1:不,print
CSS仅在打印时应用,因此在打印前不会对其中的任何代码进行检查。
2:要测量CSS效果,请查看此test harness for CSS。