悬停在子元素<button>
上,但不影响父元素<h2>
.parent {
display: block;
text-align: center;
font-weight: 700;
font-size: 31px;
letter-spacing: normal;
position: relative;
}
.parent:hover {
color: orange;
}
span {
line-height: unset;
vertical-align: baseline;
top: 0;
left: 0;
position: absolute;
color: transparent;
box-shadow: none;
z-index: 5;
}
span button {
position: absolute;
left: 0;
top: -20px;
color: #fff;
width: 30px;
height: 30px;
min-width: 30px;
min-height: 30px;
z-index: 5;
background: #0085ba !important;
border-radius: 50%;
border: 2px solid #fff;
box-sizing: border-box;
padding: 3px;
display: inline-block;
overflow: hidden;
}
<h2 class="parent">
Title
<span class="child">
<button>+</button>
</span>
</h2>
5条答案
按热度按时间sulc1iza1#
这会很有帮助
范例
. html格式
. css格式
片段
lawou6xi2#
增加以下内容:
2nc8po8w3#
有点棘手。
首先,您需要从子对象获取父对象:
在你必须在child上添加类并在parent上删除类之后,你需要在一个子事件上完成:"鼠标悬停"。
销售代表:
lp0sw83n4#
以前有人问过这个问题,答案似乎在以下范围内:"css不能这样做"、"您可能应该重新构造您的div"和"这里有一个技巧"。hover on child without hover effect on parent
现在我没有经验去判断一个需要这样做的结构是否真的很糟糕,但是无论是哪种情况,现在都有一个直接的解决方案:has()
这是那个选择器用英语说的:选择所有元素". parent"-除了那些有任何子元素". child"被悬停的元素-当它们被悬停时。
t5zmwmid5#
你必须删除
parent:hover
的CSS,如果你只想在按钮上有悬停效果,那么父按钮不应该在你的CSS中有悬停效果。