【发布时间】:2014-12-13 05:33:34
【问题描述】:
我将澄清移到这篇文章的顶部:当鼠标没有悬停在某个 div 上时,我希望这个 div 以外的元素具有红色背景色。这可以通过本文中看到的 not() 选择器来实现吗? 困境似乎是,由于某个div在body元素内,即使鼠标在body元素上,鼠标也会一直悬停在body元素上,因此body总是会有红色的背景色。
我正在尝试使用 not() 选择器在将鼠标悬停在不在我的选择范围内的元素上时影响元素。
例如:
[data-panel] { background-color:white; }
:not([data-panel=visible]):hover { background-color:red; }
<body>
<div data-panel='visible'>
<div data-panel='visible'>Content</div>
</div>
</body>
我想要的结果是,如果鼠标悬停在divs 之外的任何地方,背景颜色将变为红色(即悬停在正文中)。
但是,由于这些divs 在正文中,因此该选择器将始终处于活动状态。身体永远是红色的。无论如何要对那些divs 进行样式设置,以免发生这种情况?也许有z-index 的东西?有什么线索吗?
【问题讨论】:
-
仅供参考,您应该使用
data-panel,而不是panel,因为panel不是有效的HTML 属性。 -
谢谢,我会调查的。