【问题标题】: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;
}

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

【问题讨论】:

    标签: html css hover


    【解决方案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,您会看到它确实进行了应有的转换。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 2017-09-07
    • 2014-02-18
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多