浏览器解析CSS原理

阅读原文

1、浏览器解析加载资源与渲染顺序

  1. 浏览器下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。

  2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完,比如图片)。

  3. 如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。

  4. 并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。此时渲染会被阻塞,必须等js、或css资源文件加载并解析完成之后才会继续后面的渲染

  5. 样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。重新渲染师很耗费性能的,如果可以,尽量把所有的css样式文件都在head里面夹在,实在不行,把首屏的css样式内嵌在页面中,加快首屏显示速度,提升用户体验

2、浏览器对css选择器的解析规则

浏览器对选择器的解析规则是从右到左解析的,比如.box .left p,会在页面中找到所有的p标签,然后在p标签中找其父元素有.left类p元素,再找祖父元素有.boxp标签
为了提升渲染速度,可以注意以下几点:
1、缩小查找范围。也就是标签选择器范围太广,可以直接使用类选择器,比如.box .left .text 替代 .box .left p,当然ID选择器更快,但是这不符合服用原则

2、减少层级关系。 层级嵌套太深不美观也增加查找成本

在 CSS 渲染效率中 id 和 class 的效率是基本相当的 class 会在第一次载入中被缓存,在层叠中会有更加好的效果,在根部元素采用id会具有更加好(id有微妙的速度优势)。(求解?)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 3,316评论 0 7
  • 转载说明 一、介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入g...
    17碎那年阅读 2,476评论 0 22
  • 目录一、介绍二、渲染引擎三、解析与DOM树构建四、渲染树构建五、布局六、绘制七、动态变化八、渲染引擎的线程九、CS...
    饥人谷_米弥轮阅读 2,472评论 0 10
  • 1. 介绍 浏览器可能是最广泛使用的软件。本书将介绍浏览器的工作原理。我们将看到,当你在地址栏中输入google....
    康斌阅读 2,064评论 7 18