网页优化:浏览器的reflow优化理论

Web页面运行在各种各样的浏览器当中,浏览器载入、渲染页面的速度直接影响着用户体验。非常不幸的是,效率最低的IE浏览器仍然占领者绝大多数市场份额,这已经严重制约了互联网的发展(感叹一下:“马赛克和IE——阻碍人类文明发展的绊脚石!”)。

简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程。先来大致了解一下浏览器都是怎么干活的:

  1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件;
  2. 浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件;
  3. 浏览器又发出CSS文件的请求,服务器返回这个CSS文件;
  4. 浏览器继续载入html中<body>部分的代码,并且CSS文件已经拿到手了,可以开始渲染页面了;
  5. 浏览器在代码中发现一个<img>标签引用了一张图片,向服务器发出请求。此时浏览器不会等到图片下载完,而是继续渲染后面的代码;
  6. 服务器返回图片文件,由于图片占用了一定面积,影响了后面段落的排布,因此浏览器需要回过头来重新渲染这部分代码;
  7. 浏览器发现了一个包含一行Javascript代码的<script>标签,赶快运行它;
  8. Javascript脚本执行了这条语句,它命令浏览器隐藏掉代码中的某个<div>(style.display=”none”)。杯具啊,突然就少了这么一个元素,浏览器不得不重新渲染这部分代码;
  9. 终于等到了</html>的到来,浏览器泪流满面……
  10. 等等,还没完,用户点了一下界面中的“换肤”按钮,Javascript让浏览器换了一下<link>标签的CSS路径;
  11. 浏览器召集了在座的各位<div><span><ul><li>们,“大伙儿收拾收拾行李,咱得重新来过……”,浏览器向服务器请求了新的CSS文件,重新渲染页面。

浏览器每天就这么来来回回跑着,要知道不同的人写出来的html和css代码质量参差不齐,说不定哪天跑着跑着就挂掉了。好在这个世界还有这么一群人——页面重构工程师,平时挺不起眼,也就帮视觉设计师们切切图啊改改字,其实背地里还是干了不少实事的。

说到页面为什么会慢?那是因为浏览器要花时间、花精力去渲染,尤其是当它发现某个部分发生了点变化影响了布局,需要倒回去重新渲染,内行称这个回退的过程叫reflow。

reflow几乎是无法避免的。现在界面上流行的一些效果,比如树状目录的折叠、展开(实质上是元素的显示与隐藏)等,都将引起浏览器的reflow。鼠标滑过、点击……只要这些行为引起了页面上某些元素的占位面积、定位方式、边距等属性的变化,都会引起它内部、周围甚至整个页面的重新渲染。通常我们都无法预估浏览器到底会reflow哪一部分的代码,它们都彼此相互影响着。

reflow问题是可以优化的,我们可以尽量减少不必要的reflow。比如开头的例子中的<img>图片载入问题,这其实就是一个可以避免的reflow——给图片设置宽度和高度就可以了。这样浏览器就知道了图片的占位面积,在载入图片前就预留好了位置。

另外,有个和reflow看上去差不多的术语:repaint,中文叫重绘。如果只是改变某个元素的背景色、文字颜色、边框颜色等等不影响它周围或内部布局的属性,将只会引起浏览器repaint。repaint的速度明显快于reflow(在IE下需要换一下说法,reflow要比repaint更缓慢)。下次将通过一系列的实验说明在Firefox、IE等浏览器下reflow的优化。

时间: 2024-07-31 04:26:33

网页优化:浏览器的reflow优化理论的相关文章

网页端字体加载优化

本文讲的是网页端字体加载优化, 网络字体加载看起来也许非常复杂,但如果你使用本文的字体加载模式的话,这也并不是一件复杂的事情.你可以将这些模式组合起来,创建一个兼容所有浏览器的字体加载方式. 这些模式的代码样例都使用了 Font Face Observer,一个精简的网络字体加载器.Font Face Observer 将会根据浏览器的兼容情况使用最高效的方式来加载字体,所以这是一个非常棒的网络字体加载方式,同时你不需要为跨浏览器的兼容性而操心. 基础字体加载模式 分组字体加载模式 限制字体加载

SEO无小事,网页图片也必须进行优化

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 众所周知,图片是网页中表现主题与内容的重要表现元素,对于用户来说,网站漂亮不漂亮,是否赏心悦目最大的看点还是在图片.既然如此重要,要去除它就不太现实了.深圳学文培训黄老师建议:应该怎么对它进行设置,以达到搜索引擎的要求,让用户看着赏心悦目的同时也让搜索引擎能看懂图片表达的含义. 首先,我们要了解到:人类能看懂图片是因为人类的眼睛与思想可以感受

网站大提速 之一 浏览器渲染速度优化

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前言: 要实现网站的大提速,必须在各个环节进行精确的设置和安排.网站一旦打开速度变慢,往常,站长们第一时间肯定会认为"服务器慢",其实看完本章后,你会发现或许结果并不完全是这样.影响网站速度的因素千差万别,服务器仅是其中一小部分因素而已.一种常见的情况,同样的服务器,网站与网站之间的打开速度也千差万别,这就和网站的制作工艺

web前端优化之图片显示优化

前言 此篇文章估计不会太长,有移除首页的风险,但是老夫(称老夫是因为我们真正的叶小钗其实 都100多岁啦)是不会怕滴.所以,我来了哟! 题外话:今天我们一起还看了一道前端的面试题,而后 我本来还想多找几道来做做,但是没找到什么合适的,各位有什么好的前端面试题请给我留言哦,我们一起来 分析面试题进步哟! 前端时间,我与我们的产品有一次讨论,是针对图片压缩的,因为我对图片或者 说PS这块是个小白,所以当时做了一个广告图片有100来k也直接给传上去了,结果被我们的同事搞起来一压缩 ,便只有50多k了,

如何优化URL利于网站优化

URL如何来优化?这是许多SEOER们一直在讨论的问题,因为优化好我们的Url将会有利于给我们网站的优化,而如何优化URL更符合我们的SEO策略呢,对于SEO而言,URL的好坏将直接影响搜索引擎对我们网站长尾关键词的影响.对于搜索用户来说,URL优化的好坏,会给予我们的潜在用户一定的心理暗示.因此一个好的URL结构无论是对搜索引擎,还是用户,都有着非常重要的作用,而对于我们网站建设之初一定要定位好我们的URL优化策略,接下我们将注意网站URL优化的10个细节. 我们上面说了优化URL需要注意10

学会检测SEO优化结果 找到SEO优化捷径

现在做网站SEO优化,一般同时如何搞好用户体验的同时,尽可能的更新高质量的网站内容,做好多元化的网站外链,优化自己网站的内链结构等,可是这么做下去就一定能够获得不错的SEO优化效果吗?可能很多站长说,做SEO优化不就是这么多的工作吗?难道这么做不对?笔者认为,这么做实际上就是PDCA原则中DO部分,我们还需要一个C,check的过程,如果发现Plan和DO出现问题,我们就可以重新回到Plan,进行另一个循环,这样才能够提升SEO优化工作的效率.本文的重点就是探讨这个check! 一:查看排名情况

如何合理优化网站结构 网站优化的根本

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 今天和大家讨论下网站架构的优化,我们应该知道优化第一步是从站内做起,不管你的站是刚刚上线的新站或是优化到一半的站,都需要对站内进行优化,就像是雪球,一定要内部结实牢靠,外部才能越滚越大,优化也是一样,站内优化好了,站外的推广才更能起到事半功倍的作用.站内的优化主要也就是标签优化.结构优化.链接优化几个方面! 为什么说网站结构优化是seo的根本

站长必看:整站优化和单页面优化方法

一.首先是用户体验,任何的优化都不可以以牺牲用户体验为代价. 二.关键词的选择要平衡好主要关键词和次要关键词<即长尾关键词>的关系,不可偏废. 三.网站的内部链接和外部链接要配合得当,而且链接词要合适,多元化,不要千篇一律. 四.优化推广的过程中要注意基于页面的优化和基于网站之外的优化. 五.网站的各种标准化也要同时做好. 六.网站的优化推广的力度要适中,古人说的好,走中庸之道,千万不要过犹不及. 七.优化的手段要多样化. 在网站优化的工作中,主要做的就是网站的整体优化,整站优化要比片面优化要

电子商务网站(网店)SEO优化:你知道如何优化?优化哪里吗?

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 看到很多电子商务网站(网店)的站长,店主们经常问:我的站如何优化?我的商品关键词如何得到更高排名?如何快速获得流量?流量如何稳定?如何推广?如何使搜索引擎收录网站(网店)页面更快等等问题. 同时经常看到一些对于网站(网店)SEO优化粗通的高手们的解答:针对某个关键词加十几个外链能够很快提高排名?以网店名称做为外链,排名一定第一?或是针对网站(