如果我在CSS3中有这个box(根据我的理解,这也不是CSS3,只是特定于浏览器):
<div id="container">
<div id="box"> </div>
</div>
#container
{
padding:100px;
}
#box
{
width:200px;
height:200px;
background-color:red;
}
#box.selected
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */
}
$('#box').hover(
function () {
$(this).addClass('selected');
},
function () {
$(this).removeClass('selected');
}
);
如何将动画设置为css旋转?我的意思是,不是一步,而是流畅。因此,动画应该是“有生命的”。希望你理解我的意思:))
答案 0 :(得分:5)
假设您只想将动画应用于转换,您可以使用CSS3转换,特别是transition-property
(定义哪些属性将具有转换)和transition-duration
(以指定转换的持续时间)从开始到完成)。还有transition-timing-function
,允许您使用以下任何一种转换模式:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n)
#box
{
width:200px;
height:200px;
background-color:red;
transition-property: all;
transition-duration: 0.3s;
/* Explicit above, can also use shorthand */
-o-transition: all 0.3s;
-moz-transition: all 0.3s;
-webkit-transition: all 0.3s;
-ms-transition: all 0.3s;
/* Also shorthand with the easing-function */
-ms-transition: all 0.3s linear;
}
查看我对你的jsfiddle的修订 - &gt; http://jsfiddle.net/fud4n/9/
答案 1 :(得分:2)
你可以这样使用CSS transitions:
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
答案 2 :(得分:1)
答案 3 :(得分:0)
使用像这样的CSS3动画:http://jsfiddle.net/fud4n/15/(仅适用于firefox的示例)。这将执行连续旋转,只需根据您的喜好更改持续时间。
#box.selected {
-moz-animation-name: rotation;
-moz-animation-duration: 2s;
}
@-moz-keyframes rotation {
from { -moz-transform: rotate(0deg); }
to { -moz-transform: rotate(30deg); }
}