css3动画学习笔记

动画(颜色高度等属性的变化)

css3对动画的实现有过渡帧动画

1.谁是动画属性

css3动画包括 transition 和 animation

动画常常和transform 属性常用 但是 transform不是动画属性 只是静态类

(transform会主动开启浏览器的渲染加速,会让动画更加细腻,而且,在实现动画的时候,不会改变原有文档流的结构)

animation 一上来就可以加载动画 || 而transition 需要一个类的触发,需要Js等做个添加才能实现

 transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

2.动画的发展

IE9以前的浏览器是不兼容动画的

开发前去查事件监听兼容性

 

3.学习css3动画的目标

第一阶段:熟练使用 transition 和 animation 中的 name during

第二阶段:动画库

第三阶段:复杂动画的开发

 

二、transition 基础写法&一些经验

属性名称(property)

过渡时间(duration)延迟时间(delay)

时间函数(timing-function)

 


 transition当文档流有变化的时候才会过渡 ,要有个初始化 ,需要元素提前在文档中有个初始的属性

小贴士:

display 不能和 transition 一起使用(如果display:none 时,在文档流中的初始属性理论上是不存在的)

transition 后面尽量不要跟all (占用大量资源)

常见闪动 可以 perspective 和 backface-visibility (3d里的)


 

三、 animation 基础写法&一些经验

 动画名称(name) --@keyframes

过渡时间(duration)延迟时间(delay)

时间函数(timing-function)

播放次数(iteration-count) 播放方向(direction) 停止播放的状态(fill-mode) 是否暂停(play-state)

----------------------------------------------------------------

animation 解决 transition display:none 的 bug

----------------------------------------------------------------

 

四、时间函数(分为线性和非线性)

时间函数, 管理着动画在 单位帧内播放的速度曲线

它是  使用 名为 三次贝塞尔函数的数学函数

预设值 linear ease ease-in ease-out ease-in-out

cubic-bezier(n,n,n,n)

 

时间函数 -非线性

能够实现动画的阶跃式变化,不是线性的过渡

Steps(1,start|end)

steps 作用的是每个关键帧,而不是整个时间

 

五、过渡和动画在js中监听

监听的事件:

animationstart 

animationend 、transitionend

animationiteration

 监听的事件(兼容)

在360、Safari和部分chrome下需要这样WebkitAnimationEnd

IE和Firebox已经做了兼容直接写就可以

posted @ 2020-01-03 09:48  某星座的海星  阅读(220)  评论(0)    收藏  举报