浏览器渲染过程
- 根据
HTML构建HTML树(HTMO DOM) - 根据
CSS构建CSS树(CSSOM) - 将
HTML树和CSS树,合成为一棵渲染树(Render Tree) - 渲染页面
Layout布局(文档流、盒模型、计算大小和位置)Paint绘制(把边框颜色、文字颜色、阴影等画出来)Compose合成(根据层叠关系展示画面)
制作 CSS 动画的方法
动画的基本概念
- 动画是多张图片在眼前闪过,产生的视觉残像组成的一串连续画面,图片越多,闪动约快,画面中的动作看起来更流畅
帧—> 每个静止的画面被称作帧- 播放速度(
FPS) —> 每秒 24 帧(影视最低)或者每秒 30 帧(游戏最低)
transform 变换属性
transform 中有很多可以改变 CSS 样式的函数
translate | translateX | translateY: 偏移属性scale: 放大缩小,图片会失真,少用rotate: 旋转skew: 倾斜
transtion 过渡属性
为一个元素在不同状态之间切换的时候定义不同的过渡效果
animation 动画
animation 属性用来指定一组或多组动画,每组之间用逗号相隔。配合 @keyframes 时使用
animation-name: 动画规则名animation-duration: 单个动画的持续时间animation-timing-function: 动画曲线animation-delay: 设置一段时间后执行动画animation-iteration-count: 设置是否重复animation-direction: 动画方向animation-fill-mode: 设置CSS动画在执行之前和之后如何将样式应用于其目标animation-play-state: 播放状态
@keyframes 动画规则
栗子
div{
background: red;
animation: changeColor 2s linear;
}
@keyframes changeColor {
0% { background: red }
100% { background: blue }
}