2013-10-14 192 views
8

大家好我目前正在嘗試做一個轉換,當你將鼠標懸停在背景上變成紫色,文字顏色變成白色時(原本沒有背景顏色,文字顏色是黑色的...... )CSS-轉換不起作用

但它不工作!

什麼是我做錯了!?

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

所以///編輯爲大家不斷告訴我,將其添加上的,而不是一個:懸停......

初始狀態:

text-color:black; 
background:none; 

徘徊狀態:

平滑過渡到:

text-color:white; 
background:black; 

我希望這可以幫助大家出去 感謝您的時間!

+0

這似乎是在這裏工作。 http://jsfiddle.net/4zhnP/ ...你想要這樣的東西嗎? http://jsfiddle.net/pySY4/ –

+1

如果你包含一些html會更容易。你可能需要做一些類似'.header> .navlinks> li> a:hover' – Albzi

+0

@JoshC是的,但是更流暢! – user2766367

回答

6

把它們放在一個(不懸停),如果你想多轉換,你必須將它們申報在一起。

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

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

+0

謝謝,您的描述和解決方案提供了清楚,簡明的信息,說明爲什麼以及如何操作。 :D – user2766367

4

不要在: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; 
} 

然後設置:hover屬性的實際變化。 例如,

a:hover{ 
color:green; 
} 
+0

好的,所以如果我最初希望文本顏色是黑色的,並且沒有背景,並且一旦你懸停,過渡開始爲背景顏色紫色和文本顏色白色會是怎樣? – user2766367

+1

@ user2766367你會有這樣的事情: 'a:hover {background:purple; color:white;}' – Albzi