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


Posted in Javascript onMay 05, 2017

前言

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还是有很多动画的,也有很多特效,微信小程序里加一点动画,能使页面稍微美观点。当然,复杂点的动画,只能有机会再更新。

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

Javascript 相关文章推荐
Js中获取frames中的元素示例代码
Jul 30 Javascript
javascript实现的闭包简单实例
Jul 17 Javascript
javascript用正则表达式过滤空格的实现代码
Jun 14 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
微信小程序之滚动视图容器的实现方法
Sep 26 Javascript
three.js 入门案例详解
Jan 23 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
关于Vue的路由权限管理的示例代码
Mar 06 Javascript
小程序获取周围IBeacon设备的方法
Oct 31 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
Mar 07 Javascript
Vue-cli3项目引入Typescript的实现方法
Oct 18 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
xmlplus组件设计系列之图标(ICON)(1)
May 05 #Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 #Javascript
移动端web滚动分页的实现方法
May 05 #Javascript
vue.js之vue-cli脚手架的搭建详解
May 05 #Javascript
Vue中使用vux的配置详解
May 05 #Javascript
Angular directive递归实现目录树结构代码实例
May 05 #Javascript
微信小程序开发图片拖拽实例详解
May 05 #Javascript
You might like
PHP实现图片简单上传
2006/10/09 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
select组合框option的捕捉实例代码
2008/09/30 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
2010/03/24 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
js在输入框屏蔽按键,只能键入数字的示例代码
2014/01/03 Javascript
javascript定时器完整实例
2015/02/10 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
国际领先的学术出版商:Springer
2017/01/11 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
营销部内勤岗位职责
2014/04/30 职场文书
美术专业自荐信
2014/07/07 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
业务员岗位职责范本
2015/04/03 职场文书
医学会议开幕词
2016/03/03 职场文书
python 实现图片特效处理
2022/04/03 Python
使用python绘制横竖条形图
2022/04/21 Python
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python