第九章 网页动画
一,变形
CSS3变形是一些效果的集合,如平移、旋转、缩放、倾斜。
变形的属性名是:transform。
属性值为:translate(平移),rotate(旋转),scale(缩放),skew(倾斜)。
1. translate(平移)
用法:translate(tX,tY);
- tX:X轴(横坐标)移动的向量长度。
- tY:Y轴(横坐标)移动的向量长度。
向量的方向和我们学的数学有点差别,X轴一致,Y轴是相反的。
分方向的写法:
- translateX(tx)
表示只设置X轴的位移- translateY(ty)
表示只设置Y轴的位移
2.缩放
用法:scale(sx,sy);
- scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等
- scaleX(sx):表示只设置X轴的缩放
- scaleY(sy):表示只设置Y轴的缩放
3.倾斜
用法:skew(ax, ay);
可以仅设置沿着X轴或Y轴方向倾斜
- skewX(ax):表示只设置X轴的倾斜
- skewY(ay):表示只设置Y轴的倾斜
4.旋转
用法:rotate(a);
- 参数a单位使用deg表示
- 参数a取正值时元素相对原来中心顺时针旋转
向量坐标系如下图所示:
小结:
rotate( )函数只是旋转,而不会改变元素的形状
skew( )函数是倾斜,元素不会旋转,会改变元素的形状
二,动画
动画和变形重要的区别是:动画有过渡时间,而变形是直接展现的。
- transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
- CSS3 transition的过渡功能更像是一种“黄油”,通过一些CSS的简单动作触发样式平滑过渡
语法:transition:[transition-property transition-duration transition-timing-function transition-delay ]
- 过渡属性( transition-property )
定义转换动画的CSS属性名称
IDENT:指定的CSS属性(width、height、background-color属性等)
all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all- 过渡所需的时间( transition-duration )
定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)- 过渡动画函数( transition-timing-function )
指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式
ease:速度由快到慢(默认值)
linear:速度恒速(匀速运动)
ease-in:速度越来越快(渐显效果)
ease-out:速度越来越慢(渐隐效果)
ease-in-out:速度先加速再减速(渐显渐隐效果)- 过渡延迟时间( transition-delay )
指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果
正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
0:默认值,元素过渡效果立即执行
1. animation动画
animation动画简介:
- animation实现动画主要由两个部分组成
- 通过类似Flash动画的关键帧来声明一个动画
- 在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果
设置关键帧:
那我们怎么调用关键帧呢?下面是语法部分。
属性值介绍:
- 动画的播放次数(animation-iteration-count)
值通常为整数,默认值为1
特殊值infinite,表示动画无限次播放- 动画的播放方向(animation-direction)
normal,动画每次都是循环向前播放
alternate,动画播放为偶数次则向前播放- 动画的播放状态(animation-play-state)
running将暂停的动画重新播放
paused将正在播放的元素动画停下来- 动画发生的操作(animation-fill-mode)
forwards表示动画在结束后继续应用最后关键帧的位置
backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
both表示元素动画同时具有forwards和backwards的效果
大家动手试试才能体会到动画的快乐,学完动画HTML和CSS就算结束了。