如何将褪色的悬停效果放在按钮上?

时间:2013-07-04 13:24:45

标签: html css hover

在许多网站上,例如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;
}

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

2 个答案:

答案 0 :(得分: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 */
}

答案 1 :(得分: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&lt; = 9不支持它(虽然它很快就会在IE10中得到支持)。

于12月23日9:39回答 Abody97