伪类中:不(Pseudo-class inside :not)

2019-10-17 07:22发布

是否有可能使用伪类的内部:没有吊牌?

例:

li:not(.inner:hover):hover { // Code }

<li>
   <div class="inner"></div>
</li>

我试图抵消母公司悬停的效果,当我将鼠标悬停内的项目,不使用JavaScript。

对于上面的代码预期的结果是,当你将鼠标悬停在里,而不是内部的div,李GET是一个悬停效果。 但是,只有当你不徘徊在.inner。

更新

http://jsfiddle.net/eTV86/我想要的是,当.inner变黑,李变回红色。

Answer 1:

是的,但你同时使用类和伪类,这是无效的:

li:not(.inner:hover):hover

即使你改变它的东西这是有效的(按照这个答案 ):

li:not(.inner):hover, li:not(:hover):hover

中的第一选择永远符合您的li悬停,第二个选择永远不会匹配任何内容。 它永远不会匹配您的div.inner因为你安装的:not()li

最后,如果你想改变li.inner得到一个盘旋,那是不可能的,目前的CSS选择器。 你需要的JavaScript。



Answer 2:

您可以使用简单的CSS,而不是伪类

HTML

<ul>
<li class="active"><a href = "#">Link 1</a></li>
    <li><a href = "#">Link 2</a></li>
    <li><a href = "#">Link 3</a></li>
</ul>

CSS

ul li a{ color:black}
ul li a:hover { color:red }
ul li.active a:hover { color:black /*re use the same properties which is there in default style viz ul li a{} */}

DEMO http://jsfiddle.net/mKQas/2/



文章来源: Pseudo-class inside :not