3.2 Animate CSSAnimate CSS 是最著名的动画库之一,接下来介绍一下Animate CSS
的一些基本用法,详细的用法可以去官网查询 。
基本用法
首先在需要添加动画的元素上添加类animated
,然后是动画的名字 。
<div class="animated slideInLeft"></div>
Animate CSS ****还提供了一些类来控制动画的一些属性,例如动画的延迟和速度等 。
delay
通过添加delay
类来延迟动画的播放 。
<div class="animated slideInLeft animate__delay-2s"><div>
speed
<div class="animated slideInLeft slow|slower|fast|faster"><div>
这里用 Animate CSS 库写了一个小的 demo ,在线源码和演示 。4. CSS 动画性能优化回流又叫重排,指几何属性需要改变的渲染,例如当元素的尺寸,布局等发生变化时一般会引发回流 。重绘,指外观属性需要改变的渲染,例如当元素的背景色发生变化时一般会引发重绘 。
一个 CSS 动画往往会涉及尺寸,位置,颜色等属性的变化,如果处理不当就会引发不断地回流和重绘,导致页面卡顿,尤其在性能有限的移动端这种问题尤为严重 。
在上面提到,几何属性改变时一般会引发回流,外观属性改变时一般会引发重绘,那么在 CSS 中哪些属性是几何属性,哪些属性是外观属性呢?这里简单地总结了一下 。
几何属性:包括布局、尺寸等可用数学几何衡量的属性 。
- 布局:
display
、float
、position
、list
、table
、flex
、columns
、grid
- 尺寸:
margin
、padding
、border
、width
、height
- 界面:
appearance
、outline
、background
、mask
、box-shadow
、box-reflect
、filter
、opacity
、clip
- 文字:
text
、font
、word
接下来介绍一些 CSS 动画性能优化的方法 。
4.1 使用 visibility:hidden 替换 display:none从以下四个方面对比一下
display:none
和visibility:hidden
,方便书写, display:none
简称DN
, visibility:hidden
简称VH
。- 占位表现
- DN不占据空间
- VH占据空间
- 触发影响
- DN触发回流重绘
- VH触发重绘
- 过渡影响
- DN影响过渡不影响动画
- VH不影响过渡不影响动画
- 株连效果
- DN后自身及其子节点全都不可见
- VH后自身及其子节点全都不可见但可声明子节点
visibility:visible
单独显示
占位表现
、 触发影响
和 株连效果
就能说明 VH
代替 DN
的好处,如果两者都能实现需求的情况下推荐使用visibility:hidden
。4.2 使用 transform 代替 top
经验总结扩展阅读
- 为什么CSS中的calc函数可能会不生效?
- day03-CSS
- 有虫子的动画片叫什么?
- 二 Three光线检测-实现摄像机向鼠标点击位置滑动动画
- React动画实现方案之 Framer Motion,让你的页面“自己”动起来
- CSS 渐变锯齿消失术
- vivox60充电动画怎么设置 vivox60如何设置
- 祐太和志保哪部动画里的?
- 秦时明月配音演员表介绍?
- 前端开发日常——CSS动画无限轮播