如何将褪色的悬停效果放在按钮上?
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,您会看到它确实进行了应有的转换。以上是关于如何将褪色的悬停效果放在按钮上?的主要内容,如果未能解决你的问题,请参考以下文章