开发者社区> 问答> 正文

浏览器是怎样解析CSS选择器的?

已解决

浏览器是怎样解析CSS选择器的?

展开
收起
pandacats 2019-12-10 15:56:51 1083 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    CSS选择器的解析是从右向左解析的。若从左向右的匹配,发现不符合规则,需要进行回溯,会损失很多性能。若从右向左匹配,先找到所有的最右节点,对于每一个节点,向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历。两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面。 而在 CSS 解析完毕后,需要将解析的结果与 DOM Tree 的内容一起进行分析建立一棵 Render Tree,最终用来进行绘图。在建立 Render Tree 时(WebKit 中的「Attachment」过程),浏览器就要为每个 DOM Tree 中的元素根据 CSS 的解析结果(Style Rules)来确定生成怎样的 Render Tree。

    2019-12-10 15:58:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ECS块存储产品全面解析 立即下载
基于浏览器的实时构建探索之路 立即下载
基于浏览器的实时构建探索之路--玄寂 立即下载

相关镜像