The links in the left menu in this website have a CSS3 transition property of the color
, which changes on mouse hover. It\'s not working in Chrome 16 or 17 (the
I tried to find a workaround (more details in my blog: http://kyuumeitai.posterous.com/the-case-of-the-chromes-transition-hover-bug)
It seems if you declare a:visited with color (color, background, border-color, etc) transparent it will work as a workaround. I haven't tested extensivelly yet, glad to receive feedback.
As Darren Kovalchik wrote in his asnwer ( https://stackoverflow.com/a/8524199/1010777 ), the Chrome has a bug on this.
A possible workaround is to apply color animation on the parent element of the link, and set the link's color to inherit. In this case the animation works well even if the link is :visited.
html:
<span class="whateverLinkParent">
<a href="#">whateverLinkText</a>
</span>
css:
.whateverLinkParent { animation: whateverTextColorAnimation 1s infinite; }
.whateverLinkParent a { color: inherit; }
@keyframes whateverTextColorAnimation {
0%, 100% { color: #686765; }
50% { color: #2E2D2B; }
}
Of course this workaround can't work if setting the link's parent's color is a problem, but in every other cases it gives an easy and clean solution.
This is not a -non- working issue, what it is is the :visited link is not transitioning, so it may work for you if you have not clicked on it, but if you have, it will not.
I do not know a solution, I am still looking for one...
If you remove color from :visited behavior then it should work as expected. When color is set in :visited behavior, even :hover color (without transition) does not work as expected.
Try using #ccc and #000 rather than gray and black.
edit: Like so: http://jsfiddle.net/qtzEj/
Hope that helps :)
I still ran into the same issue and found a solution that worked for me.
I was able to fix it by using the :link
pseudo class like this:
#menu a, #menu a:link {
color: gray;
transition: color 0.5s;
}
#menu a:hover {
color: black;
}