<html>
<head>
<style>
div
{
width:100px
height:100px
background:red
position:absolute
animation:myfirst 5s
-webkit-animation:myfirst 5s
animation-fill-mode: forwards
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
0% {background:redleft:500pxbottom:50px}
25% {background:redleft:500pxheight:130pxbottom:50px}
50% {background:redleft:500pxheight:160pxbottom:50px}
75% {background:redleft:500pxheight:190pxbottom:50px}
100% {background:redleft:500pxheight:210pxbottom:50px}
}
</style>
</head>
<body>
<div></div>
</body>
</html>这只是个演示的demo,方法就是这样,animation-fill-mode: forwards这一句给你解释下,这句就是当动画完成时,动画会停留在最后一帧。其他代码都比较简单,不懂随时问我。
希望能够帮助到你,!
有动画效果的是css3的transition、@keyframes、animation等,css要鼠标移上去后改变状态只能用:hover伪类,暂停动画可以用设置animation-play-state:paused,继续动画是animation-play-state:running (可能需要设置添加-webkit-等私有前缀)其实动画还是推荐jq,实现起来还是挺方便的,而且不用担心浏览器兼容性。
给你写个例子:
<!DOCTYPE html><html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />
<title>动画暂停</title>
<style type="text/css">
@keyframes move
{
from {
transform: rotate(0deg)
left: 0
}
to {
transform: rotate(360deg)
left: 600px
}
}
@-webkit-keyframes move
{
from {
-webkit-transform: rotate(0deg)
left: 0
}
to {
-webkit-transform: rotate(360deg)
left: 600px
}
}
@-zos-keyframes move
{
from {
-zos-transform: rotate(0deg)
left: 0
}
to {
-zos-transform: rotate(360deg)
left: 600px
}
}
@-o-keyframes move
{
from {
-o-transform: rotate(0deg)
left: 0
}
to {
-o-transform: rotate(360deg)
left: 600px
}
}
.box {
animation: move 3s alternate infinite
-webkit-animation: move 3s alternate infinite /* Safari 和 Chrome */
-moz-animation: move 3s alternate infinite /* Firefox */
-o-animation: move 3s alternate infinite /* Opera */
position: absolute
background-color: yellow
width: 100px
height: 100px
}
.box:hover {
-webkit-animation-play-state: paused
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>