### 浏览器渲染流程
~~~
解析html->
解析css->
结合dom树和css生成渲染树render tree->
进行布局(回流)->
进行重绘,将render tree的样式渲染到屏幕上
~~~
~~~
1.浏览器向服务端发送请求
2.解析html,生成dom树
3.解析css,生成cssom树
4.将dom树和cssom树结合,去除不可见元素,生成渲染树render tree
5.根据生成的渲染树,进行布局layout,得到几何信息(回流)
6.根据render tree以及回流得到的几何信息,将render tree的像素渲染到屏幕上
~~~
以上六个步骤
* * *
> 生成渲染树render tree流程解析
~~~
1.从dom树的根节点开始遍历每个可见节点
2.对于每个可见的节点,找到cssom树种对应的规则,并应用,生成渲染树
~~~
> css加载是否会阻塞dom树渲染
~~~
1.css的下载是异步的,不会阻塞dom树解析(解析不是渲染)
2.但是在生成渲染树render tree的过程需要结合cssom树,所以css加载会阻塞render树的渲染
~~~
- 空白目录
- 1. css选择器
- 1.1 基础选择器
- 1.2 伪类
- 1.3 first-child与:first-of-type的区别
- 1.4 nth-child(:not())与nth-of-type(:not())
- 1.5 属性选择器
- 2. html标签分类&css样式继承
- 2.1 html标签分类
- 2.2 样式继承
- 2.3 font
- 3. css动画
- 1. transition
- 2. animation
- 4. 布局位置方面
- 4.1 实现图片左右垂直居中
- 4.2 父元素中第一个子元素margin-top无效问题
- 4.3 position定位
- 5. 关于浮动
- 5.1 浮动的呈现效果
- 5.2 清除浮动的三种方式
- 5.3 inline-block与block浮动的对比
- 6. 弹性布局
- 7. border
- 7.1 添加border不影响盒子大小的三种方式
- 7.2 利用border画三角形
- 8. css预处理--sass
- 8.1 变量
- 8.2 嵌套
- 8.3 导入SASS文件
- 8.4 静默注释
- 8.5 混合器@mixin
- 8.6 继承@extend
- 8.7.function
- ! element语法
- 9. grid 布局
- 10. filedset 使用
- css面试题
- 1.题目汇总
- 2.回流(重排)和重绘
- 3.浏览器渲染流程
- 4.水平垂直居中
- 5.flex布局