2013-10-14 4 views
8

Ciao a tutti Attualmente sto cercando di fare una transizione quando si passa lo sfondo diventa viola e il testo-colore diventa bianco. (Originariamente non c'è colore di sfondo e il testo-colore è nero ...)CSS- transizione non funziona

Ma non funziona!

Che cosa è che sto facendo male !?

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; 
} 

EDIT Così /// come tutti continuano a dirmi di aggiungere su un posto di a: hover ...

Stato iniziale:

text-color:black; 
background:none; 

stato Hovered:

Smooth Transizione a:

text-color:white; 
background:black; 

Spero che questo aiuti tutti fuori Grazie per il vostro tempo!

+0

E sembra funzionare qui. http://jsfiddle.net/4zhnP/ ... hai voluto qualcosa di simile? http://jsfiddle.net/pySY4/ –

+1

Sarebbe più facile se includessi qualche html. Potrebbe essere necessario fare qualcosa come '.header> .navlinks> li> a: hover' – Albzi

+0

@JoshC sì qualcosa del genere ma più agevole! – user2766367

risposta

6

Mettetele sulla A (non il passaggio del mouse) e se volete più transizioni si deve dichiarare insieme.

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

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

+0

Grazie, la descrizione e la soluzione hanno fornito informazioni chiare e concise sul perché e su come farlo. : D – user2766367

4

Non impostare la transizione sulla proprietà: 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; 
} 

Quindi impostare ciò che sta effettivamente cambiando sulla proprietà :hover. Per esempio,

a:hover{ 
color:green; 
} 
+0

Ok, quindi Se inizialmente volevo che il colore del testo fosse nero e senza sfondo e una volta che si passa il mouse sulla transizione inizia il colore dello sfondo viola e il colore del testo bianco come sarebbe? – user2766367

+1

@ user2766367 Si dovrebbe avere qualcosa di simile: 'a: hover {background: viola; color: white;}' – Albzi