cor*_*ath 6 css performance css-selectors
我一直在阅读很多CSS性能文章,比如;
我明白为什么像这样的选择器是坏的
#social a {
}
Run Code Online (Sandbox Code Playgroud)
由于浏览器将读取一个,然后再通过所有的强制循环<A>在网页的代码.
但是为什么选择器如[title ="home"]比使用类慢?
我假设浏览器创建某种索引,以便能够找出哪些元素具有某个类(正确?).
但是浏览器是否也应该索引哪些元素具有某种属性?(如标题)?
我的问题是 ; 与使用类相比,使用 诸如[title ="home"]之类的选择器时,为什么CSS /元素看起来更慢?浏览器的行为是什么或如何使结果变得如此慢?
浏览器实现者优化最常见的情况。由于类经常用于匹配样式,因此它们必须尽可能有效地实现这一点。当它们加载到 CSS 中时,它们会对类进行索引以使这成为可能。
由于像这样的随机选择器title="home"并不经常使用,因此他们可以使用更简单的搜索来实现它们。它不会对性能产生太大影响,因为它很少被使用。
类还需要在浏览器中进行特殊处理,因为一个元素可能有多个类,例如class="foo bar baz". 解析文档时,浏览器需要将其拆分,以便它可以将其中任何一个与 CSS 选择器进行匹配。
| 归档时间: |
|
| 查看次数: |
146 次 |
| 最近记录: |