美文网首页
浏览器如何解析 CSS 选择器?

浏览器如何解析 CSS 选择器?

作者: lio_zero | 来源:发表于2021-05-07 11:30 被阅读0次

浏览器从右往左(也称为自底向上)解析 CSS 选择器,这样的匹配节点的方式可以快速、准确的与 render 树上的节点进行匹配,避免了许多无效匹配。浏览器需要评估的规则越少,样式引擎执行的速度就越快。

例如:

.menu ul li a { color: plum; }

分析:

浏览器会先检查 aliul,然后是 .menu

这是因为当浏览器扫描页面时,它只需要查看当前的节点和之前扫描过的所有节点。

需要注意的是,浏览器在获得完整的节点时就开始处理,无需等待整个页面,除非它找到一个脚本,在这种情况下,它会暂时暂停并完成脚本的执行,然后继续执行。

如果是相反的方式,则效率会很低,因为浏览器在第一次检查时找到了它正在扫描的元素,但随后被迫继续在文档中查找所有其他选择器。为此,浏览器需要有整个 html,并可能需要扫描整个网页之前,它才开始 css 绘制。

这与大多数 lib 解析 dom 的方式相反。dom 就是在这里构建的,它不需要扫描整个页面,只需找到第一个元素,然后继续匹配其中的其他元素。

详细内容您可以在 Why do browsers match CSS selectors from right to left? 查看,进行讨论。

相关文章

  • 【CSS】选择器解析规则

    当我们接触css选择起的时候,会认为浏览器解析css选择器是从左向右解析;其实不然浏览器解析css选择器是从右向左...

  • 有关CSS

    如何写出更好的CSS?(CSS是从右往左进行解析) ①避免使用*(全局)选择器。(耗费性能) ②CSS选择器的层级...

  • 2.CSS

    //CSS基础 Cascsding Style Sheet(层叠样式表)CSS选择器1.浏览器的解析方式是从右向...

  • 简析浏览器渲染机制

    浏览器渲染流程1.浏览器解析(1)浏览器解析HTML,构建DOM树(2)浏览器解析css,构建CSS规则树(2)解...

  • 使用CSS修改HTML5 input placeholder颜色

    **CSS选择器**因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定。 ::-webki...

  • 经典面试题:浏览器是怎样解析CSS的?

    摘要: 理解浏览器原理。 原文:浏览器解析 CSS 样式的过程 作者:前端小智 解析 一旦 CSS 被浏览器下载,...

  • 面试题一二

    1、如何实现浏览器兼容 2、HTML5特性 3、CSS3特性 CSS3有哪些选择器 4、WebSocket是什么?...

  • 浏览器如何解析 CSS 选择器?

    浏览器从右往左(也称为自底向上)解析 CSS 选择器,这样的匹配节点的方式可以快速、准确的与 render 树上的...

  • 浏览器渲染原理

    浏览器解析 一.浏览器会解析三个东西 HTML/SVG/XHTML CSS会生成CSS规则树, javascrip...

  • 浏览器

    浏览器 浏览器渲染原理 浏览器会将HTML解析成一个DOM树,将CSS解析成 CSS Rule Tree 。根据D...

网友评论

      本文标题:浏览器如何解析 CSS 选择器?

      本文链接:https://www.haomeiwen.com/subject/fxbxrltx.html