2013-10-14 2 views
8

Hallo alle, die ich gerade versuche, einen Übergang zu machen, wenn Sie den Hintergrund schwenken, wird lila und die Textfarbe wird weiß (ursprünglich gibt es keine Hintergrundfarbe und die Textfarbe ist schwarz ...)CSS- Transition funktioniert nicht

Aber es funktioniert nicht!

Was ist es, dass ich falsch mache?

a:hover { 
    color: white; 
    -webkit-transition: color 1000ms linear; 
    -moz-transition: color 1000ms linear; 
    -o-transition: color 1000ms linear; 
    -ms-transition: color 1000ms linear; 
    transition: color 1000ms linear; 
    background-color: purple; 
    -webkit-transition: background-color 1000ms linear; 
    -moz-transition: background-color 1000ms linear; 
    -o-transition: background-color 1000ms linear; 
    -ms-transition: background-color 1000ms linear; 
    transition: background-color 1000ms linear; 
} 

So /// EDIT wie jeder sagt mir, hält es auf ein hinzuzufügen statt a: schweben ...

Ausgangszustand:

text-color:black; 
background:none; 

schwebten Zustand:

Glatter Übergang zu:

text-color:white; 
background:black; 

Ich hoffe, das hilft allen aus Danke für Ihre Zeit!

+0

Es scheint, hier zu arbeiten. http://jsfiddle.net/4zhnP/ ... wolltest du so etwas? http://jsfiddle.net/pySY4/ –

+1

Es wäre einfacher, wenn Sie etwas HTML enthalten. Sie müssen möglicherweise etwas tun wie '.header> .navlinks> li> a: Hover' – Albzi

+0

@JoshC ja etwas wie das aber glatter! – user2766367

Antwort

6

sie Setzen Sie auf die eine (nicht der Hover) und wenn Sie mehrere Übergänge wollen, müssen Sie sie zusammen erklären.

-webkit-transition: color 1000ms linear, background-color 1000ms linear; 

http://jsfiddle.net/4zhnP/1/

+0

Vielen Dank, Ihre Beschreibung und Ihre Lösung haben klare und prägnante Informationen darüber gegeben, warum und wie es gemacht wird. : D – user2766367

4

Setzen Sie den Übergang nicht auf die Eigenschaft: Hover.

a { 
color: white; 
-webkit-transition: color 1000ms linear; 
-moz-transition: color 1000ms linear; 
-o-transition: color 1000ms linear; 
-ms-transition: color 1000ms linear; 
transition: color 1000ms linear; 
background-color: purple; 
-webkit-transition: background-color 1000ms linear; 
-moz-transition: background-color 1000ms linear; 
-o-transition: background-color 1000ms linear; 
-ms-transition: background-color 1000ms linear; 
transition: background-color 1000ms linear; 
} 

Dann setzen, was tatsächlich auf der :hover Eigenschaft ändert. Zum Beispiel

a:hover{ 
color:green; 
} 
+0

Ok, also wenn ich anfänglich die Textfarbe schwarz und keinen Hintergrund wollte und sobald man schwebt beginnt der Übergang zur Hintergrundfarbe Lila und Textfarbe Weiß wie wäre das? – user2766367

+1

@ user2766367 Sie hätten so etwas wie: 'a: Hover {Hintergrund: lila; Farbe: weiß;}' – Albzi