div上隐藏部分的悬停事件

时间:2017-05-15 13:04:02

标签: html css

我有以下带有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>

2 个答案:

答案 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>