【发布时间】:2012-06-15 05:55:49
【问题描述】:
有什么方法可以与:hover 仅使用 CSS 做相反的事情吗?如:如果:hover 是on Mouse Enter,是否有等效于on Mouse Leave 的CSS?
例子:
我有一个使用列表项的 HTML 菜单。当我悬停其中一个项目时,有一个从 #999 到 black 的 CSS 颜色动画。如何在鼠标离开项目区域时创建相反的效果,动画从black到#999?
(请记住,我不想只回答这个例子,而是整个“与:hover相反”的问题。)
【问题讨论】:
-
你到底想做什么?也许还有其他选择?
-
:hover的反义词很简单:not(:hover);但是,:hover不是与onmouseenter同义,:not(:hover)也不与onmouseleave相同。 CSS 没有任何 DOM 事件的概念。 -
@Cthulhu:
:hover仅仅意味着“一个有鼠标指针的元素”。它不指示鼠标指针是否从另一个元素过渡到该元素。它只是意味着鼠标指针当前在元素上。 -
@BoltClock :not(:hover) 实际上会触发任何事情吗?
-
@Moin Zaman:是的。只要您的鼠标不在某个元素上,
:not(:hover)就会适用。这是一个演示:jsfiddle.net/BoltClock/rghBX