CSS 知识总结

147 阅读2分钟

一. 浏览器渲染原理


  • [参考地址]:

  • 浏览器渲染过程

    • 根据 HTML 构建 HTML 树(DOM)

    • 根据 CSS 构建 CSS 树(CSSOM)

    • 将两棵树合并成一颗渲染树(render tree)

    • Layout 布局(文档流、盒模型、计算大小和位置)

    • Paint 绘制(把边框颜色、文字颜色、阴影等画出来)

    • Composite 合成(根据层叠关系展示画面)

二.CSS 动画的两种做法(transition 和 animation)


一.transition(过渡)

transition CSS 属性是 transition-propertytransition-durationtransition-timing-functiontransition-delay 的一个简写属性

  • 语法transition
    transition:属性名 时长 过渡方式 延迟
    transition:left 200ms linear
    
    可以用逗号分隔两个不同属性
    transition:left 200ms,top 400ms
   
    可以用 all 代表所有属性
    transition:all 200ms
  • transition 过渡方式. 参考地址

    默认ease(逐渐慢放)| linear(匀速)| ease-in(加速) | ease-out(减速) | cubic-bezier函数

二. animation

animation 属性是 animation-nameanimation-durationanimation-timing-functionanimation-delayanimation-iteration-countanimation-fill-modeanimation-play-state的一个简写属性。

animation语法

  • animation:时长|过渡方式|延迟|次数|方向|填充模式|是否暂停|动画;

    时长

    整个动画的持续时间,必须带上时间单位,s或者ms均可。

    过渡方式

    和transition一样,默认值是ease,另外有linear(匀速)、ease-in(加速)、ease-out(减速)、cubic-bezier函数(自定义速度,可以使用工具网站来制定),等.

    延迟

    动画延迟执行的时间,默认值是0s。单位也是s或者ms,即使延迟时间是0也要加单位。

    次数

    动画循环执行的次数,无单位,默认值是1,可以写infinite为无限循环。

    方向

    动画运行的方向,默认值是normal(正常方向),另外有reverse(反方向)、alternate(先正常方向运行再反方向运行,并持续交替运行)、alternate-reverse(先反方向运行再正常方向运行,并持续交替运行)

    填充模式

    动画的最后(达到100%)时的状态,默认值是none,常用的还有backward(回到初始状态)、forwards(停在最终状态)、both。

    是否暂停

    定义动画是否运行或暂停。默认值是running(运行),另外还有paused(暂停)。

@keyframes定义动画

  1. from to
  @keyframes name {
  from {
    transform: translateX(0%);
  }

  to {
    transform: translateX(100%);
  }
}
  1. 百分数
@keyframes  name  {
  0% { top: 0; }
  50% { top: 30px; left: 20px; }
  50% { top: 10px; }
  100% { top: 0; }
}