我有以下带有css的示例html。 我的探测器是,当我将鼠标移到父html元素的顶部coners上时,悬停角色变为活动状态。但它不应该,因为它是父母的隐藏部分。 它在firefox中正常工作,但在chrome,opera,ie或edge中没有。
有什么建议吗?
这是与浏览器相关的错误还是按预期工作?
如果我从css中删除了位置属性,那么它工作正常,但不是一个选项。
.perent{
top: 0px;
right: 0px;
width: 500px;
height: 500px;
background-color:red;
border-radius:50%;
overflow:hidden;
position:relative;
}
.child{
width: 1000px;
height: 200px;
background-color:blue;
position:absolute;
}
.child:HOVER{
background-color:black;
}
<div class="perent">
<div class="child">
</div>
</div>
答案 0 :(得分:1)
对于完全圆形切割,请使用:
添加:
.perent {
-webkit-clip-path: circle(50.0% at 50% 50%);
clip-path: circle(50.0% at 50% 50%);
}
答案 1 :(得分:1)
虽然我不确定它是否是浏览器错误,但我可以建议使用svg
body {
margin: 0;
}
svg {
height: 100vh;
}
.child:hover {
fill: black;
}
<svg viewbox="0 0 100 100">
<defs>
<clipPath id="clipPath">
<circle r="50" cx="50" cy="50"/>
</clipPath>
</defs>
<rect class="child" x="0" y="0" width="100" height="40" fill= "blue" clip-path="url(#clipPath)"/>
<rect x="0" y="40" width="100" height="60" fill="red" clip-path="url(#clipPath)"/>
</svg>