微信小程序中用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 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
jQuery Ajax之load()方法
Oct 12 Javascript
HTML node相关的一些资料整理
Jan 01 Javascript
浅析JavaScript中的同名标识符优先级
Dec 06 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
Nov 04 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
javascript帧动画(实例讲解)
Sep 02 Javascript
图片懒加载imgLazyLoading.js使用详解
Sep 15 Javascript
详解vue axios二次封装
Jul 22 Javascript
AngularJS与后端php的数据交互方法
Aug 13 Javascript
详谈Object.defineProperty 及实现数据双向绑定
Jul 18 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
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
详解一个小实例理解js原型和继承
2019/04/24 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
Python实现字典依据value排序
2016/02/24 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
详解Python_shutil模块
2019/03/15 Python
python pillow库的基础使用教程
2021/01/13 Python
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
采购部岗位职责
2013/11/24 职场文书
总经理助理工作职责
2014/02/06 职场文书
初中学生期末评语
2014/04/24 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
财产保全担保书
2015/01/20 职场文书
2015年销售内勤工作总结
2015/04/27 职场文书
工作收入证明模板
2015/06/12 职场文书
运动员代表致辞
2015/07/29 职场文书
七年级数学教学反思
2016/02/17 职场文书