微信小程序中用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 相关文章推荐
IE JS编程需注意的内存释放问题
Jun 23 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
javascript轻量级模板引擎juicer使用指南
Jun 22 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
Mar 29 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
js实现纯前端压缩图片
Nov 16 Javascript
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
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
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
php生成HTML文件的类方法
2019/10/11 PHP
js正确获取元素样式详解
2009/08/07 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
全面解析标签页的切换方式
2016/08/21 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
vue element-ui el-date-picker限制选择时间为当天之前的代码
2019/11/07 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
讲解Python中的标识运算符
2015/05/14 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
python定义类self用法实例解析
2020/01/22 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
教师群众路线剖析材料
2014/09/29 职场文书
走进科学观后感
2015/06/18 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书