zoukankan      html  css  js  c++  java
  • 动画

    在手机上使用CSS动画时很多时候会感到卡顿,然后网上很多教程说开启GPU加速可解决

    transform: translate3d(0,0,0); 
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);

    2D & 3D 转换

    转换的英文表示为: transform, 这两个转换都是用的这个英文

    这里我们还要注意一点,在我们使元素绕Y轴旋转以后,其实X轴和Z轴也会跟着旋转,所所以正方体的每个面的垂直线还是Z轴

    两者功能对比如下:

    2D:旋转、位移、缩放、倾斜、复合
    3D:旋转、位移、缩放、

     两者样式对比如下:

    2D: 
    transform :
        rotate(angle): 先当于绕z轴转动

        translate(x,y): 沿着 X 和 Y 轴移动元素
        translateX():
        translateY():

        scale(x,y): 改变元素的宽度和高度
        scaleX(x): 改变元素的宽度
        scaleY(y): 改变元素的高度

        skew(x-angle, y-angle):
        skewX(angle):
        skewY(angle):

        matrix():

    transform-origin: x, y, z
        x: left center right length %
        y: top center bottom length %
        z: length

    transform-style: flat preserve-3d     flat: 所有子元素在2D平面呈现
        preserve-3d: 所有子元素在3D空间中呈现

    3D:
    transform :
        rotate3d(x,y,z,angle):   rotate3d(0,1,0,10deg) = rotateY(10deg)
        rotateX(angle):
        rotateY(angle):
        rotateZ(angle):

        translate3d(x,y,z):
        translateX(x):
        translateY(y):
        translateZ(z):

        scale3d(x,y,z):
        scaleX(x):
        scaleY(y):
        scaleZ(z):

        matrix3d():
    transform-origin: x, y, z
        x: left center right length %
        y: top center bottom length %
        z: length

    transform-style: flat preserve-3d
        flat: 所有子元素在2D平面呈现
        preserve-3d: 所有子元素在3D空间中呈现

    perspective:

    perspective-origin:

    backface-visibility: visible | hidden
        visible: 当元素不面向屏幕时,背面是可见的
        hidden: 当元素不面向屏幕时,背面是不可见的

    过渡

    直接作用在一个html元素上面, 针对该元素的所有的样式变换都会触发该过渡效果

    transition: property duration timing-function delay, ...

    transition-property: none all property
        none: 没有属性会获得过渡效果
        all: 所有属性都将获得过渡效果
        property: 应用过渡效果的 CSS 属性(逗号分隔)

    transition-duration: time
        time: 完成过渡效果需要花费的时间(以秒或毫秒计),默认值是 0,意味着不会有效果, 5s, 5ms

    transition-timing-function: linear | ease | ease-in | ease-out | ease-in-out | cubic-bezier(n,n,n,n)
        linear: 以相同速度开始至结束的过渡效果
        ease: 慢速开始,然后变快,然后慢速结束的过渡效果 (默认效果)
        ease-in: 以慢速开始的过渡效果
        ease-out: 以慢速结束的过渡效果
        ease-in-out: 以慢速开始和结束的过渡效果
        cubic-bezier: 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值

    transition-delay: time
        time: 指定秒或毫秒数之前要等待切换效果开始

     

    动画

    @keyframes animationname {
    
        keyframes-selector   {css-styles;}
    }
        animationname: 定义animation的名称
        keyframes-selector: 0 - 100% | from to
        css-styles: 一个或多个合法的CSS样式属性

    animation: name duration timint-function delay iteration-count direction fill-mode play-state
        name:
        duration:
        timing-function: steps(n, start|end)
        delay:
        iteration-count: n | infinite; 动画应该播放多少次
        direction: normal | reverse | alternate | alternate-reverse | initial | inherit
            normal: 动画按正常播放 (默认值)
            reverse: 动画反向播放
            alternate: 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放
            alternate-reverse: 动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放
            initial: 设置该属性为它的默认值
            inherit: 从父元素继承该属性
        fill-mode: none | forwards | backwards | both | initial | inherit
            none: 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素
            forwards: 动画停止时,保留该位置(否则会回到原位)
        play-state: paused | running;   控制动画暂停或播放
  • 相关阅读:
    synchronized wait notify 生产者消费者
    Thread start0 启动分析 一图看懂
    Mysql 存储过程造测试数据
    Springboot Bean循环依赖问题
    事务分析(二) 事务传播
    事务分析(一) 事务回滚
    Mysql 事务隔离级别分析
    Bug 佛祖镇楼
    Springboot+Swagger
    Springboot跨域 ajax jsonp请求
  • 原文地址:https://www.cnblogs.com/hangtt/p/7191949.html
Copyright © 2011-2022 走看看