微信小程序中用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 相关文章推荐
dojo 之基础篇(二)之从服务器读取数据
Mar 24 Javascript
javascript读写json示例
Apr 11 Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
Dec 15 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
Apr 19 Javascript
详解开源的JavaScript插件化框架MinimaJS
Oct 26 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
web页面和微信小程序页面实现瀑布流效果
Sep 26 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 Javascript
Vue中keep-alive的两种应用方式
Jul 15 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
php 无限级缓存的类的扩展
2009/03/16 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
css样式标签和js语法属性区别
2013/11/06 Javascript
jquery中each方法示例和常用选择器
2014/07/08 Javascript
JS跨域问题详解
2014/11/25 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
javascript 中事件冒泡和事件捕获机制的详解
2017/09/01 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
python实现简单图书管理系统
2019/11/22 Python
pytorch 实现打印模型的参数值
2019/12/30 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
刑事附带民事起诉状
2015/05/19 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
Python基础之条件语句详解
2021/06/16 Python