CSS3同一元素的多个转换

时间:2011-11-26 02:41:21

标签: javascript html css css3 html5-animation

我正在尝试为我的一张背景图片制作下拉效果。我能够使用css3做到这一点,但它并不完整。

效果应该是一个落下的窗帘,然后有点反弹。 css3的问题在于我不知道如何对同一属性进行转换,因为最后一个属性会覆盖以前的属性。

这是我的代码:

ul#nav li a {
  /* ADDS THE DROPDOWN CURTAIN TO THE LINKS BUT HIDDEN OFF SCREEN */
  background: url(images/drape2.png) 0px -149px no-repeat;
  /* CSS3 transitions */         
  -moz-transition: all 200ms ease-in-out;         
  -webkit-transition: all 200ms ease-in-out;         
} 

ul#nav li a:hover {            
  /* Action to do when user hovers over links */                          
  background-position: 0px 0px; /* make drape appear, POOF! */             
  background-position: 0px -10px; /* make drape appear, POOF! */             
}            

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:9)

你想用逗号而不是新行链接它们

例如:

background-color 500ms linear, color 500ms linear;

答案 1 :(得分:4)

像这样使用cubic-bezier

cubic-bezier(0, 0.35, .5, 1.3)

你可以让动画向后移动 - 或者反弹一点。

Demo(仅适用于Firefox)

Source

编辑:我也让你成为Webkit only option,我不知道这两种技术有多兼容。它也可以在Firefox中使用-moz浏览器前缀,但我还没有测试过它。这个使用关键帧动画而不是过渡。