animation动画
Posted 林木QAQ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了animation动画相关的知识,希望对你有一定的参考价值。
通过 CSS3,我们能够创建动画
如果要在 CSS3 中创建动画,需要使用 @keyframes 规则
animation属性是复合属性 检索或设置对象所应用的动画特效
@keyframes 创建动画
语法:
@keyframes 动画名
具体关键样式变化
@-webkit-keyframes 动画名
具体关键样式变化
//关键字
@keyframes 动画名
from
to
to
//百分比
@keyframes 动画名
0%,100%
50%
/* 100%*/
animation-name
- 作用:指定动画名称
- 取值
- 默认 none 规定无动画效果
- @keyframes定义动画名称
animation-duration 属性
- 作用:定义动画持续的时间
- 取值
- 单位:以秒或毫秒计
- 默认值为0,需要设置该属性,否则不会播放动画
animation-timing-function
- 作用:定义动画的时间函数
animation-iteration-count
- 作用:定义动画播放次数
- 取值
- 1【默认值】表示1次
- 数值 定义动画播放次数
- infinite 规定动画应该无限次播放。
animation-direction
- 作用:定义动画运动的方向
- 取值
- normal:正常方向
- reverse:反方向运行
- alternate:正向反向交替—》动画先正常运行再反方向运行,并持续交替运行
- alternate-reverse:反向正向交替——》 动画先反运行再正方向运行,并持续交替运行
animation-play-state
作用:动画的执行状态
取值:
- running:运动【默认】
- paused: 暂停
animation-fill-mode
作用:设置动画在运动时间之外的状态
- none 默认值
- 进场之前和动画结束之后都停留在元素的初始状态
- forwards 动画结束之后停留在结束帧状态
- backwards 动画进场之前停留在初始帧状态
- both 以上两者
animation简写
- 语法:
```
animation:
动画名字 动画持续时间 动画时间函数 动画延迟时间 动画执行次数 动画的方向 动画的播放状态 填充模式
默认值:none 0 ease 0 1 normal running none;
```
动画animation transition 属性
参考技术A 1、animation 属性是一个简写属性,用于设置动画属性:animation-name:规定 @keyframes 动画的名称。
animation-duration:规定动画完成一个周期所花费的秒或毫秒。默认是 0。
animation-timing-function:规定动画的速度曲线。默认是 "ease"。
animation-delay:规定动画何时开始。默认是 0
animation-iteration-count:规定动画被播放的次数。默认是 1。
animation-direction:规定动画是否在下一周期逆向地播放。默认是 "normal"。
animation-fill-mode:规定对象动画时间之外的状态
2、 transition 属性
语法:transition: property duration timing-function delay ; 默认值 all 0 ease 0
transition-property 指定CSS属性的name,transition效果
其主要有以下几个值:none(没有属性改变);all(所有属性改变)这个也是其默认值;indent(元素属性名)。
transition-duration transition效果需要指定多少秒或毫秒才能完成
transition-timing-function 指定transition效果的转速曲线
transition-timing-function的值允许你根据时间的推进去改变属性值的变换速率,transition-timing-function有6个可能值:
1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的 cubic-bezier曲线 。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
其是cubic-bezier为通过贝赛尔曲线来计算“转换”过程中的属性值,如下曲线所示,通过改变P1(x1, y1)和P2(x2, y2)的坐标可以改变整个过程的Output Percentage。初始默认值为default.
transition-delay 定义transition效果开始的时候
首先img外层结构上有盒子包裹
鼠标滑过的时候:hover
img
transform: scale(1.1, 1.1);放大
本身img盒子上加过度效果transition: all 0.5s;
img的父级盒子加 overflow: hidden;
以上是关于animation动画的主要内容,如果未能解决你的问题,请参考以下文章
CSS3 旋转动画导致 Animate.css 抖动动画消失
css3动画基础详解(@keyframes和animation)