CSS 3缓解而不会轻松

时间:2012-01-06 03:19:05

标签: css animation css3

http://jsfiddle.net/wX6eU/

即使我没有指定out参数,旋转也会轻松进出。如何让它保持在360或者只是在没有动画的情况下回到0?

div {
    position: absolute;
    left: 100px;
    top: 100px;
    width: 100px;
    height: 100px;
    background-color: blue;
    -webkit-transition:-webkit-transform 0.5s ease-in;
}
div:hover {
    -webkit-transform:rotate(360deg);
}

2 个答案:

答案 0 :(得分:1)

只需将转换放在:hover伪选择器中:

div {
    position: absolute;
    left: 100px;
    top: 100px;
    width: 100px;
    height: 100px;
    background-color: blue;
}
div:hover {
    -webkit-transform:rotate(360deg);
    -webkit-transition:-webkit-transform 0.5s ease-in;
}

http://jsfiddle.net/DgBDt/

答案 1 :(得分:0)

我认为不可能将“out”的时间设置为与“in”不同。 ease-in选项是计时功能。其他选项包括defaultlinearease-outease-in-outcubic-bezier。您可以read more about them here,但遗憾的是没有关于将过渡设置为零秒的任何信息。

备用选项可能是使用JS来获得所需的功能并仍然使用CSS动画:

$(function(){
  var timer;
  $('.animated').hover(function(){
    timer = setTimeout(function(){ $('.animated').removeClass('animated') }, 500)
  }, function(){
    clearTimeout(timer);
    $(this).addClass('animated');
  });
 });