浏览器的渲染流程

html-css018

浏览器的渲染流程,第1张

1、使用html解析器将html页面转化成浏览器能够理解的dom树 (ParseHTML)

2、将css解析成浏览器能够理解的css树( 通过link标签引入的css才会走这一步,如果css是写到html里的话在第一步就解析了 )

3、样式计算(Relcalculate Style)

4、dom树和css树生成布局树(Layout)

5、根据布局树生成图层树 —— 重排. (pre-paint)     (Update Layer Tree). 

6、绘制(背景颜色、边框等)(按照图层去一个个绘制) —— 重绘(paint)

7、组合图层 —— 合成(Composite Layers)

图层树的几种情况:

    1、css3D

    2、position:fixed

    3、video

    4、canvas

    5、css3动画加载的时候作为一个单独的图层

浏览器每次可以接收64kb的数据,例如一个图片是120kb大小,那么浏览器将分成2次才能接收完数据

1、css解析的时候,浏览器会开一个线程去解析html,去开一个线程去解析css,这样会阻塞浏览器的渲染,但是不会阻塞dom的解析。

2、js解析的时候,会阻塞浏览器的渲染,会阻塞dom的解析,会阻塞js的执行

重排和重绘都是以图层为单位去操作,所以如果是一些变化的元素,最好将它单独作为一个图层隔离起来进行操作

1、重排:计算元素在窗口的几何位置

2、重绘:计算元素在窗口具体的呈现

1、元素位置移动尽量使用transform代替top、left

    1.1、直接使用transform会触发重排和重绘

    1.2、结合position:relative使用时只触发重绘

    1.3、作为单独图层时,不触发重排和重绘(会交给GPU进程去处理)

2、使用opacity代替visibility

    2.1、使用visibility会触发重绘

    2.2、使用opacity既触发重排,也触发重绘ß

    2.3、配合图层使用,opacity不触发重排和重绘

3、多次改变样式的操作合并成一次

4、利用文档碎片(documentFragment)

5、不要把某些dom节点的属性值放到循环里当成循环的变量

查询属性值的时候会触发重排、重绘!!

6、为动画元素新建图层

html没有什么三大碎片,只有三大元素分类,分别是:顶级、块级、内联。

顶级:包括html, body, frameset, 表现如Block-level element, 属于高级块级元素.

块级:顾名思义就是以块显示的元素,高度宽度都是可以设置的。比如我们常用的 p, h1~h6, div, ul 默认状态下都是属于块级元素。块级元素比较霸道,默认状态下每次都占据一整个行,后面的内容也必须再新起一行显示。当然非块级元素也可以通过css的display:block将其更改成块级元素。此外还有个特殊的,float也具有此功能。

块级元素能够独立存在, 一般的块级元素之间以换行(如一个段落结束后另起一行)分隔。块级元素是构成一个html的主要和关键元素, 而任意一个块级元素均可以用Box model来解释说明.

内联:通俗点来说就是文本的显示方式,与块级元素相反,内联元素的高度宽度是不可以设置的,其宽度就是自身文字或者图片的宽度。

你可以先去【绘学霸】网站找“动画制作技术”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=310&zdhhr-11y13r-1710006243997727100

想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。

自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。

王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】:

www.cgwang.com/course/ysdhaaa/?zdhhr-11y13r-1710006243997727100

在“动画制作技术”领域的培训机构里,【王氏教育】是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。

大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载:www.huixueba.com.cn/Scripts/download.html