Ich habe ein Problem mit der CSS- transitionEigenschaft, die beim Laden der Seite ausgelöst wird.
Das Problem ist, dass beim Anwenden von a color transitionauf ein Element (z. B. transition: color .2s:) beim ersten Laden der Seite meine Elemente von Schwarz auf die zugewiesene Farbe blinken.
Angenommen, ich habe den folgenden Code:
CSS
p.green {
color: green;
transition: color .2s;
-moz-transition: color .2s;
-webkit-transition: color .2s;
-o-transition: color .2s;
}
p.green:hover {
color: yellow;
}
HTML
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="js/main.js"></script>
<link href="css/main.css" rel="stylesheet" />
</head>
<body>
<p class="green">The Flashing Text</p>
</body>
</html>
Beim Laden der Seite p.greenverblasst mein Wille von blackbis green.
Ich möchte den Farbübergang :hovernicht auf die Pseudoklasse anwenden, da dies den Übergang auf MouseLeave nicht anwenden würde .
Es ist wirklich ärgerlich, wenn der Text über die Webseite blinkt. Bis zu diesem Moment habe ich es vermieden, Übergänge zu verwenden, es sei denn, ich brauche sie wirklich, und trotzdem verwende ich sie mit Sorgfalt. Es wäre großartig, wenn es eine wirklich offensichtliche Lösung dafür gibt, die ich nicht sehe!
Dies geschieht in Google Chrome. Ich habe nicht in anderen Browsern getestet.
jsfiddle.net/ShyZp/2 (danke @Shmiddty)
window.onload = function(){document.body.className += " loaded";}body.loaded p.green{transition:color .2s;}