微信小程序实现登录页云层漂浮的动画效果

 更新时间:2017年05月05日 11:25:51   作者:OverShao  
微信小程序目前的火热程度相信不用多言,最近利用空余时间用小程序实现了个动态的登录页效果,所以下面这篇文章主要给大家介绍了利用微信小程序实现登录页云层漂浮动画效果的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

2017年前端火了,微信小程序、weex、reactnative,就连支付宝也搞起了小程序,总感觉这是原生要毁灭的节奏啊,我也乘热上车万一波。

上效果图(GIF动态图)

当我看到这张背景图的时候,强迫症立马来了,这云朵为什么不动,于是开始了一波折腾。

知识点

认识animation

animation 属性是一个简写属性,用于设置六个动画属性:

描述
animation-name 规定需要绑定到选择器的 keyframe 名称
animation-duration 规定完成动画所花费的时间,以秒或毫秒计
animation-timing-function 规定动画的速度曲线
animation-delay 规定在动画开始之前的延迟
animation-iteration-count 规定动画应该播放的次数
animation-direction 规定是否应该轮流反向播放动画

认识translate

方法特别多,本文主要用2个。

  • translate3d(x,y,z)定义 3D 缩放转换。
  • rotate3d(x,y,z,angle) 定义 3D 旋转。

translate3d(1,1,0)

你可以理解为(左右,上下,大小)变化。

rotate3d(1,1,0,45deg)


实现

1.两朵云除了大小和初始位置不通,其他都相同。

.cloud {
 position: absolute;
 z-index: 3;
 width:99px;height:64px; top: 0; 
 right: 0;
 bottom: 0;
 animation: cloud 5s linear infinite;
}

@keyframes cloud {
 from {
 transform: translate3d(-125rpx, 0, 0);
 }

 to {
 transform: translate3d(180rpx, 0, 0);
 }
}

其中rpx是微信特有的属性,不受屏幕大小的影响,类似于安卓里的dp单位。keyframes是匀速移动,从css里可以看到只改变了左右方向。

2.头像本来想加个吊篮,像荡秋千一样的荡漾,但是没有成功,只是随便搞了个飘来飘去的动画。

代码如下

@keyframes pic {
 0% {
 transform: translate3d(0, 20rpx, 0) rotate(-15deg);
 }
 15% {
 transform: translate3d(0, 0rpx, 0) rotate(25deg);
 }
 36% {
 transform: translate3d(0, -20rpx, 0) rotate(-20deg);
 }
 50% {
 transform: translate3d(0, -10rpx, 0) rotate(15deg);
 }
 68% {
 transform: translate3d(0, 10rpx, 0) rotate(-25deg);
 }
 85% {
 transform: translate3d(0, 15rpx, 0) rotate(15deg);
 }
 100% {
 transform: translate3d(0, 20rpx, 0) rotate(-15deg);
 }
}

没想到keyframes不仅有支持from to还支持百分比,不错。这里,只要控制好层级关系、动画时长、透明度即可实现云层漂浮。

总结

不得不说css还是有很多动画的,也有很多特效,微信小程序里加一点动画,能使页面稍微美观点。当然,复杂点的动画,只能有机会再更新。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • BootStrap创建响应式导航条实例代码

    BootStrap创建响应式导航条实例代码

    这篇文章主要介绍了BootStrap创建响应式导航条实例代码的相关资料,需要的朋友可以参考下
    2016-05-05
  • javascript如何在foreach循环完成之后执行一个回调函数

    javascript如何在foreach循环完成之后执行一个回调函数

    forEach()是前端开发中操作数组的一种方法,主要功能是遍历数组,其实就是 for 循环的升级版,下面这篇文章主要给大家介绍了关于javascript如何在foreach循环完成之后执行一个回调函数的相关资料,需要的朋友可以参考下
    2023-11-11
  • JavaScript  函数语法详解

    JavaScript 函数语法详解

    本文结合前面发布的文章,详细介绍了javascript的函数语法,非常的详尽,非常的实用,这里推荐给大家,是篇不可多得的文章
    2021-09-09
  • 用JS实现3D球状标签云示例代码

    用JS实现3D球状标签云示例代码

    3D球状标签云的效果想必很多朋友在浏览网页时都有见到过吧,看起来提复杂的,其实实现起来挺容易的,感兴趣的朋友可以了解下本文
    2013-12-12
  • 微信小程序实现收货地址左滑删除

    微信小程序实现收货地址左滑删除

    这篇文章主要为大家详细介绍了微信小程序实现收货地址左滑删除,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • JavaScript树型数据与一维数组相互转换方式

    JavaScript树型数据与一维数组相互转换方式

    这篇文章主要介绍了JavaScript树型数据与一维数组相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 小程序的基本使用知识点(非常全面,推荐!)

    小程序的基本使用知识点(非常全面,推荐!)

    开发一个小程序在如今来讲是较为简单的,但其实还是有很多的知识点需要大家记住,这篇文章主要给大家介绍了关于微信小程序基本使用的相关资料,需要的朋友可以参考下
    2021-06-06
  • 重写JS setTimeout 方法 JavaScript Hook 劫持setTimeout

    重写JS setTimeout 方法 JavaScript Hook 

    想要重写  setTimeout  方法,发现有动态引入的js,需要改成自己的js,以下教教大家这个需求,防止网站被劫持
    2023-07-07
  • 基于JavaScript实现带缩略图的轮播效果

    基于JavaScript实现带缩略图的轮播效果

    这篇文章主要为大家详细介绍了基于JavaScript实现带缩略图的轮播效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • js调试系列 控制台命令行API使用方法

    js调试系列 控制台命令行API使用方法

    上次初步介绍了什么是控制台,以及简单的 console.log 输出信息。最后还有两个小问题,我们就当回顾,来看下怎么操作吧
    2014-06-06

最新评论