为什么要学 Less ?就一个字:“懒!”。记得以前初中还是高中的时候,学过一篇文章,大概意思是说懒汉改变世界,因为懒,所以创造各种各样的工具来解决问题,使工作、事情更快速、轻松地完成。
学习环境
Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Xixin、函数等特性,使 CSS 更易维护和扩展。
Less 可以运行在 Node 或浏览器端。
例子:
test.less
@base: #f938ab; .box-shadow(@style, @c) when (iscolor(@c)) { -webkit-box-shadow: @style @c; box-shadow: @style @c; } .box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) { .box-shadow(@style, rgba(0, 0, 0, @alpha)); } .box { color: saturate(@base, 5%); border-color: lighten(@base, 30%); div { .box-shadow(0 0 5px, 30%) } }
test.css
.box { color: #fe33ac; border-color: #fdcdea; } .box div { -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }
使用以下命令生成:
lessc test.less test.css
$ npm install -g less
首先认识 lessc
命令,它是 Less 的编译器,也是核心功能,所以以下操作都会用它来进行。
$ lessc test.less
在控制台中会输出编译完成后的样式,例如
/* less */ .header { background: aliceblue; a { color: antiquewhite; } } /* css */ .header { background: aliceblue; } .header a { color: antiquewhite; }
$ lessc test.less test.css
将会在当前目录下生成 test.css 文件
由于 Less 自带的压缩功能(-x
属性)已经被废弃,所以我们需要使用 less-plugin-clean-css
插件来进行压缩。
$ lessc --clean-css test.less test.min.css
我在实际的使用过程中遇到下面这个问题,提示我找不到 clean-css 插件
Unable to load plugin clean-css please make sure that it is installed under or at the same level as less
那么我们先来安装一下,使用 npm 来安装
$ npm install -g less-plugin-clean-css
暂无
用惯一些 IDE 工具后,再用 微信开发者工具
真的很不习惯,所以一般开发小程序我都是用 WebStorm
,再用 微信开发者
工具来预览、调试。下面来介绍一下如何配置 WebStorm
编写 Less
保存自动生成 wxss/css 。
配置路径 Preferences | Editor | File Types
配置路径 Preferences | Tools | File Watchers | +
笔者经过试验操作,提供了几个配置,仅供参考(小程序配置不局限于小程序)。
.wxss
).wxss
文件到指定的目录中)Arguments: $FileName$ $FileNameWithoutExtension$.css --source-map # $FileName$ 当前编辑文件名 # $FileNameWithoutExtension$.wxss 去除.less扩展名再加上.wxss扩展名 # --source-map 表示会生成less路径在css文件中 # 其它的点击旁边按钮INSERT MACRO查看 Output paths to refresh: $FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map # 冒号表示生成多个文件 # 保存在当前less目录下,并刷新项目结构显示文件出来
当前目录生成 .wxss
Arguments: --no-color $FileName$ $FileNameWithoutExtension$.wxss # --no-color 禁用彩色的输出 # $FileName$ 当前编辑文件名 # $FileNameWithoutExtension$.wxss 去除.less扩展名再加上.wxss扩展名 Output paths to refresh: $FileNameWithoutExtension$.wxss # 保存在当前less目录下,并刷新项目结构显示文件出来
less独立文件夹,生成 .wxss
文件到指定的目录中
Arguments: --no-color $FileName$ $ProjectFileDir$/pages/$FileDirPathFromParent(less)$/$FileNameWithoutExtension$.wxss # --no-color 禁用彩色的输出 # $FileName$ 当前编辑文件名 # $ProjectFileDir$/pages/$FileDirPathFromParent(less)$/$FileNameWithoutExtension$.wxss 项目目录/pages/在当前目录找到父目录less的路径/当前编辑文件名去除.less扩展名再加上.wxss扩展名 Output paths to refresh: $ProjectFileDir$/pages/$FileDirPathFromParent(less)$/$FileNameWithoutExtension$.wxss # 保存在指定的目录下,并刷新项目结构显示文件出来