CSS动画

作者: Marshall3572 | 来源:发表于2021-02-21 15:15 被阅读0次

动画的原理

定义:有很多静止的画面以一定的速度连续播放,肉眼因视觉残像产生错觉而误以为是活动的画面(帧)

CSS性能
如何查看渲染过程?
在控制台按下Esc,会出现一个新的控制台。

这样浏览器在渲染过程中就会把渲染的部分变绿。方块在不停右移
CSS渲染过程依次包含布局、绘制、合成。其中布局和绘制可能被省略。

浏览器的渲染过程

  1. 根据HTML构建HTML树(DOM)
  2. 根据CSS构建CSS树(CSSOM)
  3. 将两棵树合并成一棵渲染树(render tree)
  4. Layout布局(文档流)
  5. Paint绘制(把边框颜色,文字颜色,阴影等画出来)
  6. Compose合成(根据层叠关系展示动画)


    三种更新方式 第一种,全走一遍,比如div.remove()会触发当前消失,其他元素relayout
    第二种,跳过layout,比如改变背景颜色,直接repaint + composite

    第三种,跳过layout和paint,比如改变transform,只需要composite。
    注意:必须全屏查看效果,在iframe里看会有问题。
    用transform做动画比用left好,transform在渲染时没有repaint,比left性能好

transform全解

可以在MDN看详解
translate
常用写法:

  • translateX(<length-percentage>)
  • translateY(<length-percentage>)
  • translate(<length-percentage>,<length-percentage>?)
  • translateZ(<length>)且父容器perspective
  • translate3d(x,y,z)

    绝对定位元素居中

scale缩放
一般用于360度旋转制作loading
搜索rotate MDN看文档
常用写法:

  • rotate([<angle>|<zero>])
  • rotateZ([<angle>|<zero>])
  • rotateX([<angle>|<zero>])
  • rotateY([<angle>|<zero>])

transition过渡
作用:补充中间帧
语法:

  • transition: 属性名(宽高之类的) 时长 过渡方式(esay-out先快后慢等等) 延迟时间
  • 可以用all代替所有属性

并不是所有属性都能过渡
display:block -> none无法过渡
一般用visibility: visible -> hidden
背景颜色也可以过渡

animation

@keyframes两种写法,一种是百分数,一种是from to
制作一颗跳动的心

相关文章

  • CSS-3D知识

    1.CSS动画 1.1 CSS动画属性-animation animation:为CSS动画属性,使用该属性可以替...

  • Css动画 小球横移

    学习css 动画,建立小球左右横移的动画原料:html5 Css3html CSS css 动画属性介绍 其中an...

  • 网页高级知识点(三)

    CSS3 transition动画 CSS3 transform变换 CSS3 animation动画

  • 有用的Vue第三方库

    Animate.css - CSS动画库 Velocity.js - JS动画库 TweenJS - 状态过渡动画...

  • 动画类文章

    css3常用动画+动画库 vue2使用animate css

  • Vue.js 过渡动画

    1. css实现过度 transition 动画 css-transform动画 动态组件 上述动画,如果设置mo...

  • 前端开发入门到实战:CSS动画@keyframes的用法

    CSS动画 CSS动画允许大多数HTML元素的动画,而无需使用JavaScript或Flash! 动画浏览器支持 ...

  • 2018-06-13

    Css动画: css3动画主要包括Transform、Transition、Animation 区别 transi...

  • 2018-08-15

    CSS动画 CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习 @keyframes 规...

  • CSS3 动画

    动画属性 动画(animation)是CSS3新增的属性,动画属性可以为元素创建动画,CSS3以前在网页上实现动画...

网友评论

      本文标题:CSS动画

      本文链接:https://www.haomeiwen.com/subject/dthhxltx.html