Web 浏览器是否合并 css 规则的执行以便它们高效运行?
我知道多个css规则是级联的。
我只对级联规则的性能影响感兴趣。
例如,对于以下内容:
button,
input,
select {
display:block;
}
select {
margin:1rem;
}
我知道两者都display:block;
将margin:1rem;
应用于select
s。
我只是不确定浏览器是否优化了其内部 css 选择器检查。在上面的示例中,次优浏览器可以检查:
- 如果按钮,或选项,或选择,然后显示:块;
- 如果选择,则margin:1rem;
执行这些检查的最佳方法是:
- 如果是按钮或选项,则显示:块;
- 如果选择,则显示:块;保证金:1rem;
大多数现代浏览器是否足够智能以合并选择器的两个规则的执行,select
以便它们运行第二组检查(最佳检查)?
如果是这样,哪些浏览器及其版本执行 css 规则合并?
链接到有关此的文档,或浏览器功能列表站点上的信息,也将不胜感激。
我对此感兴趣,因为我想最小化我的 css(有时涉及复制选择器部分以避免重复声明),并使我的 css 更易于维护。但是,我想确保我的客户的浏览器不会浪费运行冗余 css 选择器的周期。
谢谢。