CSS 动画
1. 2D/3D 转换 transform
通过2D、3D转换,能够对元素进行移动、缩放、转动、拉长或拉伸。
transform: 转换属性1.1 2D 转换
缩放
/* x:表示水平方向的缩放倍数。y:表示垂直方向的缩放倍数 */
transform: scale(x, y);
/* 等比例缩放 */
transform: scale(x);位移
transform: translate(水平位移, 垂直位移);
transform: translate(-50%, -50%);旋转
/* 正值 顺时针;负值:逆时针 */
transform: rotate(角度);
transform: rotate(45deg);skew
matrix(复合功能)
举例:借助 rotate 和 transform-origin 实现扑克牌展开

1.2 3D 转换
旋转:rotateX、rotateY、rotateZ
移动:translateX、translateY、translateZ
2. 过渡 transition
过渡是可以实现元素不同状态间的平滑过渡(补间动画),经常用来制作动画效果。
transition 属性拆分:
transition-property:过渡属性,如果设为 all,则所有的属性都发生过渡transition-duration:过渡的持续时间transition-timing-function:运动曲线linear线性ease减速ease-in加速ease-out减速ease-in-out先加速后减速
transition-delay:过渡延迟时间
3. 动画 animation
动画是 CSS3 中具有颠覆性的特征,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。
通过@keyframes定义动画;
将这段动画通过百分比,分割成多个节点,然后各节点中分别定义各属性;
在指定元素里,通过
animation属性调用动画。
animation-timing-function如果设置为steps(),则表示动画不是连续执行,而是间断地分成几步执行,应用于逐帧动画等。
举例:通过animation-timing-function的steps()制作时钟指针

最后更新于
这有帮助吗?
