关于both的疑问?怎么让both对象状态为动画开始时的状态?
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
div{
width:100px;
height:100px;
background:#555;
}
.box{
animation:ani 1s linear 1s backwards;
}
.box1{
animation:ani 1s linear 1s forwards;
}
.box2{
animation:ani 1s linear 1s both;
}
@keyframes ani{
0%{
-webkit-transform:translateX(-50PX);
}
50%{
-webkit-transform:translateX(0);
}
100%{
-webkit-transform:translateX(500px);
}
}
</style>
</head>
<body>
<div class="box"></div>
<div class="box1"></div>
<div class="box2"></div>
</body>
</html>
----------------------------------------------------------------------------------------------------------------
如何理解both:设置对象状态为动画结束或开始的状态。这句话?为什么第三个元素both运行完会和forwards是一样的,那怎么让both跟backwards一样呢?感谢老师!
正在回答 回答被采纳积分+1
animation-fill-mode属性:设置动画在开始前和结束后的样式,有以下4个属性值。
[1] none(默认值):不设置样式。
[2] forwards:动画结束后的样式是最后一帧的样式。
[3] backwards:动画开始前的样式是第一帧的样式。
[4] both:相当于forwards+ backwards,即动画开始前的样式是第一帧的样式,动画结束后的样式是最后一帧的样式。
测试代码如下:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" manifest="cache.manifest"> <head> <title>2-23-animation-fill-mode</title> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <style type="text/css"> div { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 500px; height: 500px; background-image: linear-gradient(45deg, blue 25%, transparent 25% 75%, blue 75%), linear-gradient(135deg, red 25%, transparent 25% 75%, blue 75%); animation-name: rotate; animation-duration: 2s; animation-delay: 1s; animation-timing-function: linear; animation-fill-mode: both; } @keyframes rotate { from { transform: rotate(45deg); } to { transform: rotate(225deg); } } </style> </head> <body> <div></div> </body> </html>
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星