CSS中的变形都是一瞬间完成的事情,而不是一个动画过程。
动画transition
需要函数,动作触发
transition-property
all所有的属性都可以发生
left只对left属性做变化,只有left发生变化时才有动画效果。
![](https://img.haomeiwen.com/i3995550/6fd8964317db49a6.png)
![](https://img.haomeiwen.com/i3995550/4aa85e3bc334f9b0.png)
transition-duration过渡效果持续时间
![](https://img.haomeiwen.com/i3995550/1a0ef9b19399ecc6.png)
![](https://img.haomeiwen.com/i3995550/05b3475ad5979d36.gif)
transition-timing-function定义时间函数
ease默认,两头慢中间快
linear线性,匀速
ease-in开始慢
ease-out结束慢
ease-in-out开始结束都慢,相对于ease两头幅度更大
cubic-bezier (num,num,num,num)bezier曲线
step-start
step-end
steps 几步,在start变化还是end变化
![](https://img.haomeiwen.com/i3995550/1dd8518356f753cc.png)
transition-delay
设置延时的时间,可以设置一个和多个
![](https://img.haomeiwen.com/i3995550/303b10801ad8df2f.png)
![](https://img.haomeiwen.com/i3995550/164ff1452b393438.png)
transition
![](https://img.haomeiwen.com/i3995550/39f24aa5f0f70ccf.png)
![](https://img.haomeiwen.com/i3995550/7cc31cff8120afeb.png)
动画animation
animation可以不使用hover等js触发,直接运行
animation-name
![](https://img.haomeiwen.com/i3995550/e877a5ed37fb3afd.png)
![](https://img.haomeiwen.com/i3995550/2cb717bb27a294ee.png)
animation-duration动画执行的时间
![](https://img.haomeiwen.com/i3995550/bce44b8917ac37ea.png)
animation-timing-function
![](https://img.haomeiwen.com/i3995550/3f500653b637557d.png)
animation-iteration-count执行次数
![](https://img.haomeiwen.com/i3995550/b3d2ca1976f664e7.png)
animation-direction动画方向
![](https://img.haomeiwen.com/i3995550/18dca7e03b1b91d3.png)
animation-play-state动画状态
动画状态是暂停还是运动,可以结合hover使用,鼠标移上去的时候,动画是动还是暂停。
running
paused
![](https://img.haomeiwen.com/i3995550/6d2ea83bab5049ce.png)
animation-delay
动画延时
![](https://img.haomeiwen.com/i3995550/19809e72db4e6da9.png)
animation-fill-mode
backwards动画在开始的时候是否要保持第一帧的状态,
forward结束的时候保持结束的状态
both开始的时候保持第一帧的状态,结束的时候保持结束的状态。
![](https://img.haomeiwen.com/i3995550/96473ac1b09e7318.png)
![](https://img.haomeiwen.com/i3995550/57ddb6f1f0452658.png)
animation
所有属性在一起
![](https://img.haomeiwen.com/i3995550/8cbadc4ea468b83c.png)
![](https://img.haomeiwen.com/i3995550/83da32c601b3d4c3.png)
关键帧@keyframes
@keyframes abc {
from {opacity:1; height:100px;}
to {opacity:0.5; height:200px;}
}
@keyframes abc {
0% {opacity:1; height:100px;}
100% {opacity:0.5; height:200px;}
}
from to 可以写成0%和100%
@keyframe flash{
0%,50%,100%{opacity:1;}
25%,75% {opacity:0;}
}
flash会产生闪动效果
需要调用
![](https://img.haomeiwen.com/i3995550/70160341af87334c.png)
![](https://img.haomeiwen.com/i3995550/4d8f02a42fb39896.png)
网友评论