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 动画

css3动画基础详解(@keyframes和animation)

css3动画连续执行两个怎么做

css3的-webkit-animation动画执行后会变回原来的样子,怎么保留住动画最后的状态呢?

CSS3 animation 动画用法介绍