【问题标题】:Change opacity of one div WITH transition on hover over another div将鼠标悬停在另一个 div 上时使用过渡更改一个 div 的不透明度
【发布时间】:2014-12-27 18:15:08
【问题描述】:

当我将鼠标悬停在另一个 div 上时,我正在尝试缓慢更改 div 的不透明度。

当我将鼠标悬停在另一个 div 上时,我可以更改 div 的不透明度,但问题是我不知道如何缓慢地进行过渡。

我的代码如下所示:

#my-id:hover ~ #info .hc  {
    display: block;
    opacity: 1;
}
#info div {
    display: none;
    opacity: 0;
}

.test-border {
  border: 1px solid red;
  width: 100%;
  height: 100%;
  color: red;
}
<div>
  <div id="my-id">Hover here</div>
  <div id="info">
    <div class="hc test-border">Information</div>
  </div>
</div>

【问题讨论】:

标签: html css hover transition opacity


【解决方案1】:

在更改的 div 上添加 transition 属性:

#info div {
    transition:opacity 1s ease;
    opacity: 0;
}

这里的问题是您可能需要删除display:none,因为此属性无法通过过渡设置动画。

#my-id:hover ~ #info .hc  {
    opacity: 1;
}
#info div {
    opacity: 0;
    transition:opacity 1s ease;
}

.test-border {
  border: 1px solid red;
  width: 100%;
  height: 100%;
  color: red;
}
<div>
  <div id="my-id">Hover here</div>
  <div id="info">
    <div class="hc test-border">Information</div>
  </div>
</div>

【讨论】:

  • 删除display:none 没有问题,因为它不可见,因为它不透明。所以给#info div加上transition属性意味着这是起点,#my-id:hover ~ #info .hc是终点,对吧?
猜你喜欢
  • 1970-01-01
  • 2015-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
相关资源
最近更新 更多