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

Posted

技术标签:

【中文标题】如何将褪色的悬停效果放在按钮上?【英文标题】:How to put the faded hover effect on the button? 【发布时间】:2013-07-02 12:42:10 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

正如用户 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

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

【讨论】:

感谢您的帮助。我已经尝试过使用 css3 过渡属性并且工作正常:)【参考方案2】:

您将需要使用 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 */

【讨论】:

@MohammadAreebSiddiqui 是的,很难看到,但是蓝色变暗了一点,因为这是指定的两种颜色;浅蓝色和稍深的蓝色。尝试将 a:hover 颜色更改为 #000,您会看到它确实进行了应有的转换。

以上是关于如何将褪色的悬停效果放在按钮上?的主要内容,如果未能解决你的问题,请参考以下文章

javascript悬停效果一起反应

如何使悬停在活动按钮上不使用悬停效果?

按钮悬停过渡持续时间

如何防止触摸设备上按钮的粘滞悬停效果

添加带有图像的悬停效果(wordpress)

如何防止触摸设备上按钮的粘滞悬停效果