在简单的 CSS 工具提示上淡入淡出



菜鸟问题。试图制作一个简单的 css 工具提示来淡入淡出,但无法让它工作。搜索了很多,但找不到简单的答案。我假设我将过渡 css3 放在错误的位置,但它在其他位置也不起作用......

<style>
    .tooltip{
        display: inline;
        position: relative;
    }
    .tooltip:hover:after{
        border-radius: 5px;
        bottom: 26px;
        content: attr(title);
        left: 20%;
        adding: 5px 15px;
    position: absolute;
    z-index: 98;
    width: 220px;
     }
.tooltip:hover:before{
border-width: 6px 6px 0 6px;
bottom: 20px;
        content: "";
        left: 50%;
        position: absolute;
        z-index: 99;
          opacity: 0;
 -webkit-transition: opacity 1s ease-in-out;
   -moz-transition: opacity 1s ease-in-out;
  -ms-transition: opacity 1s ease-in-out;
   -o-transition: opacity 1s ease-in-out;
   transition: opacity 1s ease-in-out;
     }
</style>

.html

 <br /><br /><br /><br />
<a href="#" title="Text text text text" class="tooltip"><span title="More">CSS3     Tooltip</span></a>
  1. 你不需要:before:after.
  2. 您必须首先定义:after内容及其样式,并带有过渡。
  3. 然后在:hover上定义:after样式,仅使用过渡属性(例如不透明度)。

演示http://jsfiddle.net/abhitalks/aRzA3/1/

CSS:

.tooltip:after {
    content: attr(title); /* define content here */
    ...
    opacity: 0; /* define initial transition property */
    -webkit-transition: opacity 1s ease-in-out; /* define transitions */
    transition: opacity 1s ease-in-out;
}
.tooltip:hover:after {
    opacity: 1; /* provide only the final transition property */
}

您需要在 .tooltip:after,而不是 .tooltip:hover:after 中设置属性。

然后添加:

.tooltip:after {
    opacity:0;
}

和:

.tooltip:hover:after {
    opacity:1;
}

不需要 .tooltip:hover:before。

见 http://jsfiddle.net/NHkQr/

我正在寻找相同的,但没有javascript或jquery。我发现以下方法使用纯 CSS3 过渡。

CSS3

a.tooltip span
{
  position: absolute;
  top: 30px;
  left: 50%;
  margin-left: -76px;
  z-index: 999;
  width: 250px;
  height: auto;
  color: #fff;
  font-size: 12px;
  line-height: 20px;
  border-radius: 6px;
  padding: 2px;
  text-align: center;
  background: #000;
  border: 1px solid #808080;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 2s ease-out 0s;
  -moz-transition: all 2s ease-out 0s;
  -ms-transition: all 2s ease-out 0s;
  -o-transition: all 2s ease-out 0s;
  transition: all 2s ease-out 0s;
}
a:hover.tooltip span
{
  visibility: visible;
  -webkit-opacity: 0.90;
  -moz-opacity: 0.90;
  opacity: 0.90;
}

.HTML

<a class="tooltip" href="#">Hover Me
    <span>Some text information that you want to display in tooltip</span></a>

有关现场演示的更多详细信息,请访问此处使用 CSS3 转换的工具提示示例。

最新更新