微信小程序中用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 相关文章推荐
js操作输入框中选择内容兼容IE及其他主流浏览器
Apr 22 Javascript
深入解读JavaScript中的Hoisting机制
Aug 12 Javascript
JavaScript中获取Radio被选中的值
Nov 11 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
javascript中的try catch异常捕获机制用法分析
Dec 14 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
Angular实现购物车计算示例代码
Feb 21 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
vue loadmore组件上拉加载更多功能示例代码
Jul 19 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
Dec 19 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
VUE递归树形实现多级列表
Jul 15 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
文章推荐系统(三)
2006/10/09 PHP
用PHP4访问Oracle815
2006/10/09 PHP
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
在Django中创建动态视图的教程
2015/07/15 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
社区端午节活动方案
2014/01/28 职场文书
超市国庆节促销方案
2014/02/20 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
Python序列化与反序列化相关知识总结
2021/06/08 Python
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python