美文网首页
微信小程序中动画的使用

微信小程序中动画的使用

作者: 名字_都被占了 | 来源:发表于2018-11-03 13:31 被阅读0次

    1:动画的使用,用keyframes来实现,示例代码如下:

    例一:

    <image class="c" src="../../images/touxiang.png" style="width:200rpx;height:200rpx;  position:  relative;"></image>//如果要对left,right,top,bottom设置动画的话,记得设置position,因为默认position是static,static是不支持left,right,top,bottom操作的。
    
    .c {
      animation: mymove 5s infinite;//infinite属性是表示无限循环的意思,没有这个属性的话动画只执行一次。
    }
    
    @keyframes mymove {
      from {
        left: 0px;
      }
    
      to {
        left: 200px;
      }
    }
    

    例二:rotate和skew的参数单位是度数所以要用deg,而translate的单位可以是px,也可以是rpx。

    <image class="c" src="../../images/touxiang.png" style="width:200rpx;height:200rpx;margin-top:50%;margin-left:30%;"></image>
    
    .c {
      animation: mymove 2s infinite;
    }
    
    @keyframes mymove {
      from {
        transform: rotate(7deg) skew(50deg) translate(30rpx, 30rpx);
      }
    
      to {
        transform: rotate(700deg) skew(5deg) translate(100rpx, 100rpx);
      }
    }
    

    例三:

    <image class="c" src="../../images/touxiang.png" style="width:200rpx;height:200rpx;margin-top:50%;margin-left:30%;"></image>.
    
    .c {
      animation: mymove 2s infinite;
    }
    
    @keyframes mymove {
      from {
        transform: rotate3d(100,200,300,0deg)
      }
    
      to {
        transform: rotate3d(200,300,400,360deg)
      }
    }
    

    具体的方法和参数如下:

    translate(x,y) 定义 2D 转换。
    translate3d(x,y,z) 定义 3D 转换。
    translateX(x) 定义转换,只是用 X 轴的值。
    translateY(y) 定义转换,只是用 Y 轴的值。
    translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
    scale(x,y) 定义 2D 缩放转换。
    scale3d(x,y,z) 定义 3D 缩放转换。
    scaleX(x) 通过设置 X 轴的值来定义缩放转换。
    scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
    scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
    rotate(angle) 定义 2D 旋转,在参数中规定角度。
    rotate3d(x,y,z,angle) 定义 3D 旋转。
    rotateX(angle) 定义沿着 X 轴的 3D 旋转。
    rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
    rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。
    skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
    skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
    skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。

    如果想查看方法的具体效果的话,可以查看如下网址

    参考网址:

    http://www.w3school.com.cn/cssref/pr_transform.asp
    http://www.runoob.com/cssref/css3-pr-transform.html

    例四:animation-timing-function属性(规定动画的速度曲线)的用法:

    <image class="c" src="../../images/touxiang.png" style="width:200rpx;height:200rpx;"></image>
    
    .c {
      animation: mymove 5s infinite;
      animation-timing-function: ease-in-out;
    }
    
    @keyframes mymove {
      from {
        transform: translateX(0rpx)
      }
    
      to {
        transform: translateX(500rpx)
      }
    }
    

    animation-timing-function的具体属性值如下:

    linear 动画从头到尾的速度是相同的。
    ease 默认。动画以低速开始,然后加快,在结束前变慢。
    ease-in 动画以低速开始。
    ease-out 动画以低速结束。
    ease-in-out 动画以低速开始和结束。
    cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。

    参考网址:

    http://www.w3school.com.cn/cssref/pr_animation-timing-function.asp

    两个学习css所有属性的网址:

    http://www.w3school.com.cn/cssref/index.asp
    http://www.runoob.com/cssref/css3-pr-animation-timing-function.html

    相关文章

      网友评论

          本文标题:微信小程序中动画的使用

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