是否在选择器的其余部分之前评估了动态伪类?

Dan*_*idt 5 css performance css-selectors pseudo-class

据我所知,CSS选择器从右到左进行评估,因此body div *会选择每个项目,而不是具有div类型的父项和具有body类型父项的项目.我不确定的是如何在这个链中评估动态伪类.

如果我有一个选择器div *:hover,评估会如何?

  1. :hover=> *=>div
  2. *=> :hover=>div
  3. 另一个我没想到的解决方案

Ran*_*unt -1

很遗憾,

* => :hover => div
Run Code Online (Sandbox Code Playgroud)

首先评估通用选择器,这意味着它会查看DOM 中的每个元素,然后检查它是否处于某种:hover状态。最后,对于任何匹配的元素,它会检查父元素div