我无法理解为什么在:hover
伪类之后存在选择器,而不是之前。这是如何以及为什么有效?
这有效
div li:hover > ul
{
display: block;
}
为什么这不起作用?
div li > ul:hover
{
display: block;
}
我做了很多搜索,试图弄清楚为什么要在它之后放置一个选择器或选择器(:hover伪类);以及它如何定位它的细节,但我似乎无法找到任何有关它的信息。先谢谢你!
答案 0 :(得分:6)
您的选择器在逻辑上是不同的。
li:hover > ul
与悬停ul
内的li
匹配。
li > ul:hover
匹配任何ul
内的悬停li
。
默认情况下,您的ul
可能已隐藏,因此li > ul:hover
不会匹配任何内容。
相比之下,只要li:hover > ul
悬停,ul
就会与仍然隐藏的li
匹配,并显示它。