zoukankan      html  css  js  c++  java
  • 移动端 CSS3动画属性

    一、transform 转换属性

    #1. translate位移

    transform : translate(50px,100px); //把元素水平移动 50 像素,垂直移动 100 像素
    
    transform : translateX(50px); //把元素水平移动 50 像素
    
    transform : translateY(100px); //把元素垂直移动 100 像素
    
     

    #2. scale缩放

    transform : scale(2); //把元素宽高同时放大两倍
    
    transform : scale(2,4); //把元素宽度放大2倍,高度放大4倍
    
    transform : scaleX(0.5); //把元素宽度缩小一半
    
    transform : scaleY(1.2); //把元素高度放大1.2倍
    
     

    #3. rotate旋转

    transform : rotate(45deg); //把元素旋转45deg
    
    transform : rotateX(45deg); //把元素沿X轴旋转45deg
    
    transform : rotateY(45deg); //把元素沿X轴旋转45deg
    
     

    #4. skew倾斜

    transform : skew(30deg,20deg); //把元素沿水平方向倾斜30deg,沿垂直方向倾斜20deg
    
    transform : skewX(30deg); //把元素沿水平方向倾斜30deg
    
    transform : skewY(20deg); //把元素沿垂直方向倾斜20deg
    
     
    每个元素只能设置一个transform属性,可以同时设置多个值,:
    
    transform: rotate(30deg) translate(50px) scale(2);
    
     

    #二、transition 过渡属性

    transition-property : css的属性名称   或者all
    
    transition-duration : 动画持续的时间
    
    transition-timing-function : 动画的执行的速度
          ease:平滑运动
          linear:线性运动
          ease-in:逐渐加速  速度越来越快
          ease-out:逐渐减速速  速度越来越慢
          ease-in-out:先加速再减速  速度先变快再变慢
          
    transition-delay : 动画延迟时间
    
     
    transitionend css过渡效果结束后执行的事件
    
    一般不分开设置,直接写复合属性,  transition: all 2s linear 2s;
    
    1
    2
    3

    #三、animation 关键帧动画

    #1. 定义动画

    @keyframes 动画名{
        0%{ ... }
        50%{ ... }
        100%{ ... }
    }
    //开始状态和结束状态时,可以用from 和 to代替
    
     

    #2. 调用动画

    animation-name: 动画名称 
    
    animation-duration: 动画持续的时间 
    
    animation-timing-function: 动画的执行的速度,与transition属性相同
    
    animation-delay: 延迟时间
    
    animation-iteration-count: 动画执行的次数,可以是数字或者infinite(无限循环)
    
    animation-direction: 是否循环交替反向播放动画,
        normal( 正常播放 ) 
        alternate(奇数次正向,偶数次反向)  
        alternate-reverse (奇数次反向,偶数次正向)  
        reverse( 反向播放 )
        
    animation-fill-mode: 动画填充的模式,
        forwards(动画结束后停在最后的位置) 
        backwards(保留动画开始的初始状态)
        
    animation-play-state: 动画是否暂停,
        running( 继续 ) 
        paused( 暂停 )
    
     

    #3. 请求动画帧 requestAnimationFrame

    1. 屏幕刷新频率:屏幕每秒出现图像的次数。普通笔记本为60Hz(赫兹)
    
    2. 动画原理:计算机每16.7ms刷新一次,由于人眼的视觉停留,所以看起来是流畅的移动。
    
    3. 通过定时器达到的动画效果,容易卡顿抖动,原因是:
        1、setTimeout异步加载,只有当主线程任务执行完后才会执行,因此实际执行时间总是比设定时间要晚
        2、settimeout的固定时间间隔不一定与屏幕刷新时间相同,会引起丢帧
    
    4. 每次刷新的间隔中会执行一次requestAnimationFrame函数,不会引起丢帧,不会卡顿    
  • 相关阅读:
    pycharm路径
    git常用命令
    分页
    router
    视图集
    Leanring TypeScript 中文版
    RXJS 系列 04
    RXJS 系列 03
    RXJS 系列 02
    RXJS 系列 01
  • 原文地址:https://www.cnblogs.com/yzy521/p/14132280.html
Copyright © 2011-2022 走看看