2

在许多网站上,例如http://notes.envato.com/,您会注意到,当链接悬停在上面时,它们会淡出不同的颜色,而不是立即切换,这是默认操作。怎么做 ?

我试过 HTML:

<ul class="icons">
    <li class="flickr">
        <a href="http://flickr.com/photos/we-are-envato" rel="external" title="Flickr">
            <img src="img/flickr.png" target="_blank">
        </a>
     </li>
</ul>

CSS:

ul.icons {
    position: absolute;
    top: 95px;
    right: 0;
    z-index: 100;
}

li {
    display: inline;
    padding: 5px;
}

li a {
    list-style: none;
    text-decoration: none;

}

li.flickr a {
    height: 50px;
    width: 50px;
}

li.flickr a:hover {
    color: #A5BA84;
}

谁能告诉我如何设置效果?

4

2 回答 2

1

您将需要使用 CSS 将过渡应用到锚点。这是一个例子:

/* replace 0.5s in each one with the time you want it to take */
a {
    text-decoration: none;
    color: #007edf; /* starting color */
    transition: color 0.5s ease;
    -webkit-transition: color 0.5s ease;
    -moz-transition: color 0.5s ease;
    -o-transition: color 0.5s ease;
    -ms-transition: color 0.5s ease;
}

a:hover {
    color: #0069ba; /* ending color */
}
于 2013-07-04T13:27:51.137 回答
0

正如用户 javadog36 所解释的,您可以使用 css-level3 'transition' 属性来做到这一点。

此外,在abody97对几乎相同的问题(Fade on hover text link color)的回答中,他们提出了一个 javascript (jquery) 解决方案。

选择解决方案时要小心(css || javascript)。根据 caniuse.com ( http://caniuse.com/#search=transition ),全球支持率:78.47%

我是那些认为 jQuery 解决方案目前更“跨浏览器”人之一。

块引用:

在包含 jQuery UI(或 jQuery 颜色)之后,您需要对颜色进行动画处理:

$('a').hover(
    function() { $(this).animate("color", "#FFFFFF"); },
    function() { $(this).animate("color", "#000000"); }
}

或者使用 CSS3 过渡(完全避免使用 jQuery):

a {
    color: #000000;
    -moz-transition: 1s color; /*For Firefox < 16.0*/
    -webkit-transition: 1s color; /*For WebKit (Chrome, Safari)*/
    transition: 1s color; /*animates for 1 second*/
}
a:hover {
    color: #FFFFFF;
}

然而,CSS3 过渡的支持是有限的;IE <= 9 不支持它(尽管即将推出的 IE10 支持它)。

Abody97 于 2012 年 9 月 23 日 9:39 回答

于 2013-07-04T13:43:12.583 回答