2013-10-14 130 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