1、animation 动画
概念:当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
- 规定动画的名称
- 规定动画的时长
把 "myMove" 动画捆绑到 div 元素,时长:5 秒;
- 动画调用
- 调用动画的规则名称
- 动画持续的时间(可选)
- 动画的过渡类型
- 延迟时间
- 动画播放次数(默认1次,也可以成数字或者infinite则是无限循环)
- 是否停留在结束状态 forwards
- 反向运动 alternate 1
2、调用形式如下所示:---------------可以互相组合使用
1 -webkit-animation: myMove 2s ;
2 -webkit-animation: myMove 2s linear 2s infinite ;无限循环
3 -webkit-animation: myMove 2s linear 2s 2 ;循环2次
4 -webkit-animation: myMove 2s linear 2s forwards ;停留在结束位置
5 -webkit-animation: myMove 4s linear 2s infinite alternate ;反向运动不能在1次运动时实现,播放次数必须在2次或2次以上才可以实现
3、复杂的动画调用规则:
A、动画规则的设置:
1 @-webkit-keyframes myMove {
2 from{
3 margin-left: 0px;
4 background-color: orange;
5 }to{
6 margin-left: 200px;
7 background-color: rosybrown;
8 }
9 }
B、动画规则的设置,用百分比实现
1 @-webkit-keyframes myMove{
2
3 0%{ width: 200px; }
4 20%{ width: 200px; }
5 40%{width: 200px; }
6 60%{ width: 200px; }
7 100%{ width: 200px; }
8 }
4、暂停动画:
代码:animation-play-state: paused;
用途:用在轮播上,要借用hover属性来实现;表示鼠标移上去是动画停止,移出时动画继续
实例:
下面是调用动画:
1 #boxhidden{
2 border: 1px solid rosybrown;
3 width: 320px;
4 height: 213px;
5 overflow: hidden;
7 }
9 #boximg{
10 height: 213px;
11 width: 1920px;
12 font-size: 0;
13 animation: imgmove 4s linear infinite;
16 }
17 #boximg:hover{
18 animation-play-state: paused;
19 }
动画规则设置:
1 @-webkit-keyframes imgmove {
2 0%{margin-left: 0px; } 10%{margin-left: -320px; }20%{ margin-left: -320px; }
3 30%{ margin-left: -640px; }40%{margin-left: -640px; }50%{margin-left: -960px; }
4 60%{ margin-left: -960px; }70%{margin-left: -1280px; }80%{margin-left: -1280px}
5 90%{margin-left: -1600px} 100%{margin-left: -1600px}
6 }