使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
Remove hover style on parent when hovering on child with CSS
我有一把小提琴:http://jsfiddle.net/a80h6pts/1/
<style>
.myhover {
width: 120px;
}
.myhover:hover p{
color: #FED242!important;
}
</style>
<div id="divParent" class="myhover">
<p>Some text</p>
<p>Text text text</p>
<div id="divChild" class="myhover">
<p>Example text</p>
</div>
</div>
当我的鼠标激活#divParent
的over时,我希望除了#divChild
中的<p>
之外,所有<p>
标签都更改颜色。然后,当我将鼠标移动到#divChild
时,我希望其中的所有<p>
标签都更改颜色,并将#divParent
的<p>
恢复为其原始颜色。
我无法删除或更改类.myhover
或使用javascript。我怎么能只使用CSS呢?
编辑:
糟糕的是,有些人认为我必须使用js。我可以使用对html/css影响最小的js(jquery)。
使用jQuery可以使用:
$('#divParent').mouseover(function () {
$('#divParent > p').addClass('hover')
}).mouseout(function () {
$('#divParent > p').removeClass('hover')
})
$('#divChild').mouseover(function (e) {
e.stopPropagation();
$('#divChild > p').addClass('hover')
}).mouseout(function (e) {
$('#divChild > p').removeClass('hover')
})
.myhover {
width: 120px;
}
.hover {
color: #FED242;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="divParent" class="myhover">
<p>Some text</p>
<p>Text text text</p>
<div id="divChild" class="myhover">
<p>Example text</p>
</div>
</div>
正如其他人已经注意到的,由于没有父CSS选择器,您不能单独使用CSS。
相关文章:
- 如何在鼠标悬停时将对象从起始位置移动到结束位置,然后在鼠标悬停后再次移动
- 使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
- 在鼠标悬停时显示对象的边框(Fabricjs)
- 鼠标悬停在2层2个对象上
- 我可以在HTML5画布中创建图形形状对象吗?以及当用户将鼠标悬停在形状上时如何将光标显示为指针
- 基于当前悬停对象更改引导弹出消息
- 鼠标悬停在markercluster对象上
- OpenLayers 3 悬停每次仅突出显示一个指定的对象
- 当图层重叠时,悬停对象在背景/前景元素上出现两次
- “鼠标悬停”中的对象屏幕关闭
- 如何单击未完全覆盖背景的对象,并在悬停时消失,同时通过窗口对象退出元素
- 使用 JavaScript 将鼠标悬停在 JavaScript 上时停止一组旋转的对象
- 从一个对象悬停到另一个对象,而第二个DOM对象不会立即消失
- 在Raphael中悬停时选择另一个路径对象
- 如何鼠标悬停在对象后面
- 当我提醒“;这个“;鼠标悬停在<td>[对象窗口]弹出-那是什么
- 悬停保持活动状态,直到鼠标移到另一个悬停对象上
- D3js:鼠标悬停对象上下文(函数指针)
- 如何编辑悬停对象的样式?
- 如何使用JQuery选择鼠标悬停对象