CSS动画知识点

一、什么是css动画?

1、使⽤css技术来控制⻚⾯元素 css属性 的变化。

2、css动画优势:不需要⽤js也能写,⽐较流畅,由浏览器去执⾏动画,减少代码量,性能⽐较⾼

3、⼀般兼容到ie10以上浏览器(⼀般没太⼤问题)

二、过渡

1.过渡的理解

过渡(transition)[træn'siʒǝn]

       -通过过渡可以指定⼀个属性发⽣变化时的切换⽅式,平滑的过渡

       -需要在某种条件下触发,例如hover、active、focus情况下

        -⼀次性的效果,不能循环,只能做简单的动画

        -只有两帧,设置动画初始值和结束值

        -IE10开始兼容,移动端兼容良好

2.过渡的4个属性

1、transition-property

哪些属性要过渡(选 填)

 

none 没有属性获得过 渡效果

all 所有属性都参与过 渡 默认值

property ⾃定义应⽤ 过渡效果,⼀个或多 个,⽤空格隔开

注意:

1、所有 数值类型 的属 性,都可以参与过渡, ⽐如width、height、 left、top、border,radius、opacity等

2、从⼀个有效数值 向另⼀个有效数值进⾏ 过渡

2、transition-duration

指定过渡效果的持续时 间(必填)

 

时间的单位:s和ms ,1s=1000ms

3、 transition-timingfunction

过渡变化曲线(缓动效 果)(选填)

 

ease [i:z] 默认值,慢速开始,先加速,然后 再减速

linear 匀速运动 ease-in 先慢后快 加 速运动 ,ease-out 先快后慢 减 速运动 ,ease-in-out 以慢速开 始和结束的过渡效果

steps()分布执⾏过渡 效果

cubic-bezier(n,n,n,n) ⽴⽅⻉塞尔曲线函数, 值是0-1之间的数值

 

 

 4、transition-delay

过渡效果的延迟,等待 ⼀段时间后执⾏过渡 (选填)

时间的单位:s和ms ,1s=1000ms

5、transition

同时设置过渡相关的所 有属性 (选填,过渡时间 是必写)

只有⼀个要求,如果要 写延迟, 则两个时间中,第⼀ 个写过渡时间,第⼆个 写延迟时间.

三、动画

1.动画的理解

动画和过渡类似,都是可以实现⼀些动态效果,不同的是过渡需要在某个属性发⽣变化时才能触发, 例如hover,acitve时,动画可以⾃动触发动画.

第⼀步:先要设置⼀个关键帧,关键帧设置了动画每⼀个步骤

制定关键帧⽤的是@keyframes属性,指定关键帧主要有两种⽅法:

⽅法⼀:

@keyframes 关键帧名称{

from{初始状态属性}

to{结束状态属性}}

⽅法⼆:

@keyframes 关键帧名称{

0%{初始状态属性}

50%(中间还可以再添加关键帧)

100%{结束状态属性}

注意:

1、帧的顺序可以更改,不关顺序问题。如果初始帧不写,默认是原始设置,如果结束帧不写, 默认也是原始设置

2、可以同时设置关键帧,⽤逗号(,)隔开就⾏

 

 

 

第⼆步 调⽤关键帧

 

2.动画属性  

1、animation-name

绑定到选择器的关键帧 的名称,告诉系统需要 执⾏哪个动画 (必填)

2、animation-duration

动画的完成时间,告诉 系统动画持续的时长 (必填)

animation-timingfunction

设置动画如何完成一个 周期,告诉系统动画执 行的速度(与过度动画 类型)

3、animation-delay

动画在启动前的延迟间 隔

4、animation-iterationcount

动画的播放次数,告诉 系统动画需要执行几次

5、animation-direction

指定是否应给轮流反向 播放动画

6、animation-fill-mode

规定当动画不播放时 (完成时,延时未开始 播放时),应用到的元 素样式

7、animation-play-state

告诉系统当前动画是否 需要暂停

8、animation

简写,可以写以上任意 属性的可选值

animation: 关键帧的名 称 动画持续的时间 运 动状态(linear( 匀速 )) 动 画延迟的时间 动画的循环次数 动画的运动⽅式 ( 设置正向或者反向 )

四、变形2D

1、变形的理解

变形属性 transform :

变形不会影响到⻚⾯的布局(只折腾⾃⼰)

尽量变形写在⼀个transform⾥,不然下⾯再写⼀个,就会覆盖上⾯

可选值:

位移 —translate()

缩放 —scale()

旋转 —rotate()

倾斜 —skew()

2、位移 transform:translate();

    translate( 参数1,参数2 ) 参数 值 1 是指在 x 轴上移动的距离 , 正值,元素向右移动,负值向左移 动,参 数2 是指在 y 轴上移动的距离,正值向下,负值向上,参数 2 默认为 0

        translateX()沿着x轴⽅向平移

        translateY()沿着y轴⽅向平移

       translateZ()沿着z轴⽅向平移 结合视距起作⽤. 不能是百分⽐数值( 3d 变化)

注意:

1、平移元素,可以是数字,可以是百分⽐,百分⽐是相对于 ⾃身计算 的, x 轴往右为正, y 轴往下为正,反之 为负

2 、位移的参考原点是元素的原来所处的位置

3 、如果是通过 active 进⾏位移,执⾏完毕后会还原

4 、 不会影响别的元素

5 、对于⾏内元素是没有效果的

 

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值