1、过度
添加过渡效果:过渡效果执行完毕之后,默认会还原到原始状态
1.transition-property:添加过渡效果的样式属性名称
transition-property: left;//
2.transition-duration:过渡效果的耗时 以秒做为单位
transition-duration: 2s;//设置过度耗时为2秒
3.transition-timing-function:设置时间函数--控制运动的速度,属性值有点多,参考相关文档
transition-timing-function: linear;//均速过度,默认是ease(先快后慢)
transition-timing-function: steps(5);//整个过度过程分为5步完成
4.transition-delay:过渡效果的延迟
transition-delay: 2s;//过度的延迟时间
5.transition:为多个样式同时添加过渡效果
transition: height 2s,width 2s linear 0s,background-color 5s linear 0s;
注意:
过渡效果只能产生从某个值到另外一个具体的值的过渡,比如不能加display:none过度到display:block;
一定要设置为哪些css样式添加过渡效果
一定要设置过渡效果的耗时
例子:想通过过度的效果实现鼠标移动到div上,div变大变色,鼠标离开div后,默认会自动还原
6、添加动画
创建动画
百分比是指整个动画耗时的百分比
@keyframes moveTest {
0%{
transform: translate(0,0);
}
50%{
transform: translate(0,500px);
}
100%{
transform: translate(500px,500px);
}
}
上述定义假设动画耗时2秒,那么表示前一秒将元素向y轴正方向移动500px,后一秒将元素向x轴正方向移动500px
0%可以写成from
100%可以写成to
@keyframes moveTest {
from{
transform: translate(0,0);
}
50%{
transform: translate(0,500px);
}
to{
transform: translate(500px,500px);
}
}
添加动画效果
1.animation-name:指定动画名称 必填
animation-name: moveTest;
2.animation-duration设置动画的总耗时 必填
animation-duration: 2s;
3.animation-iteration-count设置动画的播放次数,
默认为1次 可以指定具体的数值,也可以指定infinite(无限次)
animation-iteration-count: 1;
4.animation-direction设置动画方向
normal: 正常方向
reverse: 反方向运行
alternate: 来回交替运行
alternate-reverse: 动画先反运行再正方向运行,来回交替运行
animation-direction: alternate;
5.animation-delay设置动画的延迟
animation-delay: 2s;
6.animation-fill-mode设置动画结束时的状态:
默认情况下,动画执行完毕之后,会回到原始状态
forwards:会保留动画结束时的状态,在有延迟的情况下,并不会立刻进行到动画的初始状态
backwards:不会保留动画结束时的状态,在添加了动画延迟的前提下,如果动画有初始状态,那么会立刻进行到初始状态
both:会保留动画的结束时状态,在有延迟的情况下也会立刻进入到动画的初始状态
animation-fill-mode: both;
7.animation-timing-function动画的时间函数
animation-timing-function: linear;//和过度的时间函数类似
8.animation-play-state设置动画的播放状态
paused:暂停
running:播放
animation-play-state: running;
9.简写animation:
animation:动画名称 动画耗时;
7、动画案例1 无缝滚动