一、css3动画

能用 css3 解决的问题绝对不用 js,能用 js 解决的问题绝对不用 flash,如果有,就让设计师换需求

1. css3中的变形属性

transform :改变元素的样式 优势:开启了硬件加速,比传统的样式改变性能流畅一些 特点:基于 transform 变形的元素,相当于脱离了文档流,对其余元素的位置不会产生影响

  • scale(N) 缩放
  • translate(x, y) 位移 translate3d(x, y, z) /translateX / translateY / translateZ
  • rotate(Ndeg) 旋转n度 rotateX / rotateY
  • skew(Ndeg) 倾斜N度
  • matrix 矩阵变形 matrix3d

2. css3中的过渡动画

transition :过渡动画

  • 给元素设置过渡效果,当元素的样式在某种情况下发生改变了,不是立即改变,而是按照指定的效果慢慢的去改变,从而实现动画效果
  • transition-druation:动画运行的时间 ms / s
  • transition-timing-function: 运行的方式,linear 默认值“匀速运动”、ease、ease-in、ease-out、ease-in-out、cubic-bezier…
  • transition-delay: 设置延迟时间,默认值0s“立即执行”

3. css3中的帧动画

animation:帧动画

  • 制作运动的轨迹(每一帧元素的样式)
  1. @keyframes 动画名{
  2. 0%或者from{ 第一帧的样式 }
  3. ...
  4. 50%{ 中间某帧的样式 }
  5. ...
  6. 100%或者to{ 最后一帧的样式 }
  7. }
  • 播放动画(按照轨迹运动)animation

  • animation-name:动画名

  • animation-duration:播放的时间
  • animation-timing-function:运动方式,默认ease
  • animation-delay:延迟时间,默认0s
  • animation-iteration-count:播放次数,默认1,infinite无限次播放

  • 控制运动状态

  • forwards:animation动画,元素运动完,默认会返回第一帧所在的位置,如果设置了这个属性,则运动完停留在最后一帧的位置

  • backwards:在动画设置延迟时间的情况下,我们让元素在第一帧位置等待运行
  • both:同时具备以上两个特点

二、浏览器渲染机制

浏览器渲染原理

浏览器渲染原理.png

浏览器渲染原理-js异步编程

浏览器渲染原理-JS异步编程.png