在许多网站上,例如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;
}
谁能告诉我如何设置效果?
答案 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