链接悬停的淡入淡出效果?

2022-01-22 00:00:00 hover css fade effect

在许多网站上,例如 http://www.clearleft.com,您会注意到当链接悬停在上方时,它们会淡出不同的颜色,而不是立即切换,这是默认操作.

on many sites, such as http://www.clearleft.com, you'll notice that when the links are hovered over, they will fade into a different color as opposed to immediately switching, the default action.

我假设使用 JavaScript 来创建这种效果,有人知道怎么做吗?

I assume JavaScript is used to create this effect, does anyone know how?

推荐答案

现在人们只是在使用 CSS3 过渡 因为它比 搞乱 JS 容易得多a>,浏览器支持相当不错,而且只是装饰性的,所以如果它不起作用也没关系.

Nowadays people are just using CSS3 transitions because it's a lot easier than messing with JS, browser support is reasonably good and it's merely cosmetic so it doesn't matter if it doesn't work.

这样的事情可以完成:

a {
  color:blue;
  /* First we need to help some browsers along for this to work.
     Just because a vendor prefix is there, doesn't mean it will
     work in a browser made by that vendor either, it's just for
     future-proofing purposes I guess. */
  -o-transition:.5s;
  -ms-transition:.5s;
  -moz-transition:.5s;
  -webkit-transition:.5s;
  /* ...and now for the proper property */
  transition:.5s;
}
a:hover { color:red; }

您还可以通过用逗号分隔每个声明来转换具有不同时间和缓动功能的特定 CSS 属性,如下所示:

You can also transition specific CSS properties with different timings and easing functions by separating each declaration with a comma, like so:

a {
  color:blue; background:white;
  -o-transition:color .2s ease-out, background 1s ease-in;
  -ms-transition:color .2s ease-out, background 1s ease-in;
  -moz-transition:color .2s ease-out, background 1s ease-in;
  -webkit-transition:color .2s ease-out, background 1s ease-in;
  /* ...and now override with proper CSS property */
  transition:color .2s ease-out, background 1s ease-in;
}
a:hover { color:red; background:yellow; }

此处演示

相关文章