CSS 动画一站式指南目录
- CSS 动画一站式指南
- 1. CSS 动画
- 1.1 变换
- 1.1.1 变换属性介绍
- 1.1.2 变换动画实践
- 1.2 过渡
- 1.2.1 过渡属性介绍
- 1.2.2 过渡动画实践
- 1.3 动画
- 1.3.1 Animation 属性介绍
- 1.3.2 Animation 动画实践
- 1.1 变换
- 2. CSS 动画综合实践(太空舱)
- 2.1 太空舱动画介绍
- 2.2 太空舱动画实现流程
- 3. CSS 动画库
- 3.1 Animista
- 3.2 Animate CSS
- 4. CSS 动画性能优化
- 4.1 使用 visibility:hidden 替换 display:none
- 4.2 使用 transform 代替 top
- 4.3 避免使用 Table 布局
- 4.4 避免规则层级过多
- 4.5 避免节点属性值放在循环里当成循环变量
- 4.6 将频繁回流重绘的节点设置为图层
- 4.7 开启 GPU 硬件加速模式
- 5. 总结
- 1. CSS 动画
transform
,transition
, animation
三大交互属性,为 CSS 的单调性增加了很多趣味,CSS 也可以实现比较复杂的动画了 。1.1 变换变换对应的 CSS 属性为
transform
,变换可分为 2D 变换和 3D 变换,可以由transform-style
来指定 。transform-style
需要声明在父节点中,即需要发生变化的节点的父节点 。- flat:2D 变换(所有变换效果在平面上呈现)
- preserve-3d:3D 变换(所有变换效果在空间上呈现)
1.1.1 变换属性介绍1)translate 位移
- translate(x,y):2D位移
- translate3d(x,y,z):3D位移
- translateX(x):X轴位移,等同于
translate(x,0)
或translate3d(x,0,0)
- translateY(y):Y轴位移 , 等同于
translate(0,y)
或translate3d(0,y,0)
- translateZ(z):Z轴位移,等同于
translate3d(0,0,z)
- 描述
- 单位:
Length
长度,可用任何长度单位,允许负值 - 默认:XYZ轴不声明默认是
0
- 正值:沿X轴向右位移/沿Y轴向上位移/沿Z轴向外位移
- 负值:沿X轴向左位移/沿Y轴向下位移/沿Z轴向内位移
- 单位:
- scale(x,y):2D缩放
- scale3d(x,y,z):3D缩放
- scaleX(x):X轴缩放,等同于
scale(x,1)
或scale3d(x,1,1)
- scaleY(y):Y轴缩放,等同于
scale(1,y)
或scale3d(1,y,1)
- scaleZ(z):Z轴缩放,等同于
scale3d(1,1,z)
- 描述
- 单位:
Number
数值或Percentage
百分比,允许负值 - 默认:XYZ轴不声明默认是
1
或100%
- 正值:
0<(x,y,z)<1
沿X轴缩小/沿Y轴缩小/沿Z轴变厚,(x,y,z)>1
沿X轴放大/沿Y轴放大/沿Z轴变薄 - 负值:
1<(x,y,z)<0
翻转沿X轴缩小/沿Y轴缩小/沿Z轴变厚,(x,y,z)<-1
翻转沿X轴放大/沿Y轴放大/沿Z轴变薄
- 单位:
- skew(x,y):2D扭曲
- skewX(x):X轴扭曲,等同于
skew(x,0)
- skewY(y):Y轴扭曲,等同于
skew(0,y)
- 描述
- 单位:
Angle
角度或Turn
周 - 默认:XY轴不声明默认是
0
- 正值:沿X轴向左扭曲/沿Y轴向下扭曲
- 负值:沿X轴向右扭曲/沿Y轴向上扭曲
- 单位:
- rotate():2D旋转
- rotate3d(x,y,z,a):3D旋转,
[x,y,z]
是一个向量,数值都是0~1
- rotateX(a):X轴旋转,等同于
rotate(1,0,0,a)
, 正值时沿X轴向上逆时针旋转,负值时沿X轴向下顺时针旋转
- rotateY(a):3D Y轴旋转,等同于
rotate(0,1,0,a)
, 正值时沿Y轴向右逆时针旋转,负值时沿Y轴向左顺时针旋转
- rotateZ(a):3D Z轴旋转,等同于
rotate(0,0,1,a)
,正值时沿Z轴顺时针旋转,负值时沿Z轴逆时针旋转
- 描述
- 单位:
Angle
角度或Turn
周 - 正值:2D旋转时顺时针旋转
- 负值:2D旋转时逆时针旋转
- 单位:
transform: perspective()
可以声明视距效果,除此之外还有一个
推荐阅读
- 为什么CSS中的calc函数可能会不生效?
- day03-CSS
- 二 Three光线检测-实现摄像机向鼠标点击位置滑动动画
- React动画实现方案之 Framer Motion,让你的页面“自己”动起来
- CSS 渐变锯齿消失术
- 前端开发日常——CSS动画无限轮播
- Vue3 JS 与 SCSS 变量相互使用
- 超强的纯 CSS 鼠标点击拖拽效果
- 迪士尼所有卡通人物 迪士尼所有人物大全
- 前端三件套 HTML+CSS+JS基础知识内容笔记