微信小程序中用WebStorm使用LESS


Posted in Javascript onMarch 08, 2017

前提

自己前端不熟悉,很多都需要练习

网上找了一个css的demo, 放到微信小程序后,可以运行

这里,只要创建less文件,就会自动生成对应的wxss文件了(当然,写好保存less文件,会自动刷新wxss文件,很方便吧)

直接wxss和 less的比较

我们先看下页面

页面很简单

就只有一个 sky 套用 3个cloud 类

view class="container">
 <view class="sky">
  <view class="clouds_one"> </view >
  <view class="clouds_two"> </view >
  <view class="clouds_three"> </view >
  <view class="clouds_three"></view>
 </view>

</view>

再看看css

.sky {
 height: 480px;
 background: #007fd5;
 position: relative;
 overflow: hidden;
 animation: sky_background 50s ease-out infinite;
}
.sky .clouds_one {
 background: url("../../resources/cloud/cloud_one.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 50s linear infinite;
 transform: translate3d(0, 0, 0);
}
.sky .clouds_two {
 background: url("../../resources/cloud/cloud_two.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 75s linear infinite;
 transform: translate3d(0, 0, 0);
}
.sky .clouds_three {
 background: url("../../resources/cloud/cloud_three.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 120s linear infinite;
 transform: translate3d(0, 0, 0);
}
@keyframes cloud {
 0% {
 left: 0;
 }
 100% {
 left: -200%;
 }
}

我们发现有很多重复的地方

功能不难,但是占了70行,并且很难复用

修改的画,还要看里面的逻辑

修改也不方便

Less的使用

我们简单定义变量 和 方法以后

用less 大体是这样的

@dodo-out-height : 480px; //@dodo-out-height : 480rpx;
@dodo-bg-sky : #007fd5;
@dodo-img-url-clouds_one : "../../resources/cloud/cloud_one.png";
@dodo-img-url-clouds_two : "../../resources/cloud/cloud_two.png";
@dodo-img-url-clouds_three : "../../resources/cloud/cloud_three.png";

.sky {
 height: @dodo-out-height;
 background: @dodo-bg-sky;
 position: relative;
 overflow: hidden;
 animation: sky_background 50s ease-out infinite;
}
.sky .clouds_one {
 .dodo_clouds(@url:@dodo-img-url-clouds_one, @time: 50s)
}
.sky .clouds_two {
 .dodo_clouds(@url:@dodo-img-url-clouds_two, @time: 75s)
}
.sky .clouds_three {
 .dodo_clouds(@url:@dodo-img-url-clouds_three, @time: 120s)
}
.dodo_clouds (@url: @dodo-img-url-clouds_one, @height: 100%, @width: 300%, @time: 100s){
 background: url(@url);
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud @time linear infinite;
 transform: translate3d(0, 0, 0);
}
@keyframes cloud {
 0% {
 left: 0
 }
 100% {
 left: -200%
 }
}

保存后,

我们发现对应的wxss文件,也改变了,直接生成了可以读取的文件

和之前直接写的文件没有太大区别

也不会出现对应的变量和方法

.sky {
 height: 480px;
 background: #007fd5;
 position: relative;
 overflow: hidden;
 animation: sky_background 50s ease-out infinite;
}
.sky .clouds_one {
 background: url("../../resources/cloud/cloud_one.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 50s linear infinite;
 transform: translate3d(0, 0, 0);
}
.sky .clouds_two {
 background: url("../../resources/cloud/cloud_two.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 75s linear infinite;
 transform: translate3d(0, 0, 0);
}
.sky .clouds_three {
 background: url("../../resources/cloud/cloud_three.png");
 position: absolute;
 left: 0;
 top: 0;
 height: 100%;
 width: 300%;
 animation: cloud 120s linear infinite;
 transform: translate3d(0, 0, 0);
}
@keyframes cloud {
 0% {
 left: 0;
 }
 100% {
 left: -200%;
 }
}

预览下:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
jQuery JSON实现无刷新三级联动实例探讨
May 28 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
js解决弹窗问题实现班级跳转DIV示例
Jan 06 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
Jul 28 Javascript
jQuery Easyui实现左右布局
Jan 26 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
Dec 14 Javascript
angularjs实现猜大小功能
Oct 23 Javascript
小程序图片长按识别功能的实现方法
Aug 30 Javascript
详解JS ES6编码规范
May 07 Javascript
Vue常用指令V-model用法
Mar 08 #Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
Mar 08 #Javascript
vue使用watch 观察路由变化,重新获取内容
Mar 08 #Javascript
js实现倒计时效果(小于10补零)
Mar 08 #Javascript
详解Vue监听数据变化原理
Mar 08 #Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
Mar 08 #Javascript
Vue 父子组件、组件间通信
Mar 08 #Javascript
You might like
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
使用PHP开发留言板功能
2019/11/19 PHP
javascript 单选框,多选框美化代码
2008/08/01 Javascript
JavaScript 常用函数
2009/12/30 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
2018/09/28 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python基于右递归解决八皇后问题的方法
2015/05/25 Python
Python简单读取json文件功能示例
2017/11/30 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
SQL中where和having的区别
2012/06/17 面试题
机械电子工程专业求职信
2014/06/22 职场文书
《灰雀》教学反思
2016/02/19 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL