css3动画使用

html-css014

css3动画使用,第1张

animation实现动画由俩个部分组成,通过类似flash动画的关键帧来申明一个动画,在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果

关键帧 例如:

调用关键帧:

语法 animation:animation-name animation-duration animation-timing-function  animation-delay animation-iteration-count animation-direction

animation-name 由 @keyframes 创建的动画名称

animation-duration过渡时间

animation-timing-function过渡方式

animation-delay延迟时间

animation-iteration-count 动画的播放次数 通常值为1次 特殊值infinite为无限播放

animation-direction动画的播放方向,alternate为偶数次向前播放,normal动画每次都是循环向前播放

练习如下:

该图形的变化从左上角到右上角来回跳动的一个过程

linear  规定以相同速度开始至结束的过渡效果

ease  规定慢速开始,然后变快,然后慢速结束的过渡效果(默认值)

ease-in 规定以慢速开始的过渡效果

ease-out  规定以慢速结束的过渡效果

ease-in-out 规定以慢速开始和结束的过渡效果

 perspective:500px透视 也可以理解为视距,可以理解为 你的眼睛距离物体的距离  距离物体越近 物体就越大,距离物体越远 物体就越小

transform: rotateZ(30deg) rotateZ是绕着z轴旋转 正值是顺时针旋转 负值是逆时针旋转

transform: rotateY(30deg) rotateY是绕着y轴旋转 正值是向里面旋转 负值是向外面旋转

transform: rotateX(30deg)rotateX是绕着x轴旋转 正值是向里面旋转 负值是向外面旋转

transform: rotate(30deg)参数a取正值时元素相对原来中心顺时针旋转

 transform: translate3d(0, 0, 200px)效果如下:

 translate3d(0,0,200px) 表示z轴向前移动二楼200px(近大远小的原理)

 translate3d 里面分别表示x轴距离 y轴距离 和z轴距离

 要想实现3d效果必须要在父元素上加上一个属性perspective

如果想让子元素有3d的效果 必须要给父元素设置transform-style,默认值是flat, 想变成3d效果要把值设置成preserve-3d

也可以 设置旋转后的div的上下位置,在.b:hover里面加上transform-origin:top/bottom/left/right

CSS3中新增了动画相关的属性,其中@keyframes规则用于设置创建动画,其原理其实就是将一套css样式逐渐变成另外一套css样式,在@keyframes中可以使用百分比表示动画进度对应的样式,0% 是动画的开始样式,100% 动画的结束样式,每个样式可以称为"关键帧样式",每个动画可以包含很多帧,每一帧可以设置一个或多个样式。语法格式: @keyframes 动画名:{0%:{css样式} ... 100%:{css样式}} ,其中关键帧合法值是0-100%,from与 0% 相同,to与 100% 相同

使用@keyframes定义了动画,那如何使用呢?

那就得在对应要使用该动画的元素上添加animation属性

animation是一个复合属性,是所有动画属性的缩写,除animation-play-state

1. animation-name 动画名,表示要应用哪个动画

2. animation-duration 动画完成一个周期所花费的时间(秒或毫秒数),默认0

3. animation-timing-function 表示动画速度曲线,常用关键字linear、ease、ease-in、ease-out、ease-in-out,默认是ease。还可以使用cubic-bezier(n,n,n,n)设置

4. animation-delay 动画延迟时间,默认0

5. animation-iteration-count 动画播放次数,默认1 只播一次

6. animation-direction 设置动画在下个播放周期是否逆转方向,默认是 "normal"正常播放,alternate轮流反向播放

7. animation-fill-mode 用于设置动画填充模式,none 不改变默认行为;forwards当动画完成后,保持最后一个属性值(在最后一个关键帧中定义);backwards在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义);both向前和向后填充模式都被应用

8. animation-play-state 设置动画播放状态,paused动画已暂停,running是默认值,表示动画正在运行播放