CSS Hover Popup with Fade-in和-out

时间:2016-05-19 14:16:22

标签: css css3

我想为图像实现仅限CSS的弹出窗口,当用户将鼠标悬停在该图像上时,应显示该弹出窗口。在这里阅读之后,例如in this thread,我提出了这个解决方案:

a.tooltip span {
    width: 250px; 
    border: #000 1px solid;
    background: #F8F8F8;
    display: none;
    padding: 10px;
    z-index: 1000000;

    opacity: 0;
    transition: 750ms all;
}
a.tooltip:hover span {
    display: inline;
    position: absolute;
    top: 10px;
    left: 25px;
    outline: none;
    text-decoration: none;
    font-size: 70%;
    color: #000;

    opacity: 1;
}

然而,这个解决方案不会使弹出窗口淡入,它只是弹出而没有任何延迟。此外,当用户再次移开鼠标光标时,我希望弹出窗口淡出。

任何想法我做错了什么,或者我应该尝试做什么呢?

PS:这就是我调用代码的方式:

<a href="#" class="tooltip">
  <img src="questionmark.png" />
  <span>Tooltip Text.</span>
</a>

1 个答案:

答案 0 :(得分:1)

您无法使用display:none;向元素添加转换,您必须这样做:

a.tooltip span {
    position: absolute;
    top: 10px;
    left: 25px;
    width: 250px; 
    border: #000 1px solid;
    background: #F8F8F8;
    padding: 10px;
    z-index: 1000000;
    display: inline;
    opacity: 0;
    transition: 750ms all;
}
a.tooltip:hover span {
    outline: none;
    text-decoration: none;
    font-size: 70%;
    color: #000;
    opacity: 1;
}

只需使用不透明度即可转换。实例:https://jsfiddle.net/wbpbcyfz/1/