相关疑难解决方法(0)

一种比较CSS规则特异性的有效算法

我想知道在以下场景中有效的算法是什么:

给出一组解析的css规则,例如.

     p.pStyle{margin-bottom:20px;font-family:Arial;}
     p{font-family:Verdana;}
     p.anotherPStyle{margin-bottom:10px;}
Run Code Online (Sandbox Code Playgroud)

从css样式表中,有几个规则集可能适用于给定元素(比如<p class="pStyle anotherPStyle">hello</p>我的文档中的a).

我需要首先确定样式表中的哪些规则适用于给定元素(所以就是这样p, pStyle and anotherPStyle),然后创建一个能够按特定性(从最具体到最常规)对适用规则进行排序的比较器.注意:我已经设计了一个算法,一旦排序就应用规则,因此您无需有效地解决该问题.

我一直在玩弄几个想法,即涉及确定给定规则特定的DOM树中的级别的想法......虽然我不确定这是否是正确的方法?

浏览器引擎如何有效地执行此操作?我希望用Java复制它,但我对许多其他语言很满意,所以你能提供的任何代码都是最受欢迎的.

谢谢

css sorting css-specificity

7
推荐指数
1
解决办法
931
查看次数

标签 统计

css ×1

css-specificity ×1

sorting ×1