CSS选择器中运算符的优先级是多少?

前端之家收集整理的这篇文章主要介绍了CSS选择器中运算符的优先级是多少?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
From the CSS selector spec

E + F matches any F element immediately preceded by a sibling element E.

操作符优先级怎么样? #id1#id2#id3是什么匹配?
#id1#id2#id3怎么办?

有没有选择器,意思是#id1(#id2#id3)或(#id1#id2)#id3?
(我假设(和)不是真的允许在CSS选择器,我没有看到他们在规范)

解决方法

浏览器从每个顺序的简单选择器和组合器以线性方式从右到左读取。组合者不会以任何方式影响排序。在最后一个组合器(如果有的话)之后,最右边的选择器被称为键选择器(参见下面的参考链接了解更多),并且标识规则应用于的元素(也称为选择器的主题,尽管注意到键选择器可能并不总是表示选择器的主题,因为不同的应用程序不同地实现选择器)。

选择器#id1#id2#id3表示

Select element #id3
if it directly follows as a sibling of #id2
that is a descendant of #id1.

#id3与选择器匹配的DOM结构将如下所示:

#id1
  ... any level of nesting
    #id2
    #id3

而#id1#id2#id3表示

Select element #id3
if it is a descendant of #id2
that directly follows as a sibling of #id1.

而#id3与选择器匹配的DOM结构将如下所示:

#id1
#id2
  ... any level of nesting
    #id3

请注意与上述相比,此DOM结构中元素#id2的位置的差异。

这里没有太多的优先问题,因为后代和兄弟组合者在DOM中的不同方向。两个选择器序列从右到左读取任一种方式。

相关答案:

> CSS combinator precedence?
> Are parentheses allowed in CSS selectors?
> CSS Adjacent Selector / Meaning

猜你在找的CSS相关文章