为什么链接颜色的关键帧动画不适用于Chrome?

Bal*_*alo 6 html css google-chrome css3 css-animations

使用@keyframes(和animation)动画a颜色在Chrome中不起作用.

演示:https://jsfiddle.net/ed3pypwr/
在Chrome中,链接保持蓝色.在Firefox中,它按照预期从红色变为绿色.在div它上面也适用于Chrome.

有什么方法可以解决这个问题吗?

编辑
我知道它应该以前缀为前缀-webkit-以确保最大兼容性,但这不是问题.它无论如何都不起作用.

编辑2
解决方案是将链接放在包装器中并使用currentColor:https://jsfiddle.net/b84gttu6/.有没有更好的办法 ?

imt*_*man 4

旧版本(<43)的 Chrome 使用前缀@-webkit-keyframes而不是标准@keyframes. 所以完整的支持看起来像这样:

@-webkit-keyframes test
{
   from { color: red; }
   to { color: green; }
}
@keyframes test
{
   from { color: red; }
   to { color: green; }
}
Run Code Online (Sandbox Code Playgroud)

更新

我一直在使用各种不同的方法进行一些测试,并且仅当链接未被访问时才有效(为什么,我不知道)。

例子

  • 使用两者都支持所有主流浏览器! (3认同)
  • 仅 Chrome 43 及更高版本支持不带前缀的动画 (3认同)
  • 我一直直言不讳地说 Chrome 在这些方面是多么落后,但事实上最新的稳定版本*确实*支持无前缀的功能,这充其量是不准确的,最坏的情况是无关紧要的。最新的稳定版本*确实*表现出了所描述的问题(而且它对 Chrome 的情况没有一点帮助,因为他们比*任何人*其他人都花了更长的时间来完善*他们自己的功能* - 总共 8 年 - 更糟糕的是,如果它事实证明这是一个*回归*)。 (2认同)
  • “只有当链接未被访问过时它才有效” 在这种情况下,Chrome 很可能对整个 :visited 隐私问题有点过分热心。不幸的是,除了“UA 可以做他们认为最有利于隐私利益的事情”之外,这些内容并没有具体说明。不过,使用 OP 现在给出的 currentColor 解决方法并不会让 Chrome 变得更明智。 (2认同)