快速入门
Less 简介,如何下载使用,应用实例ç‰ç‰ã€‚
Less 简介,如何下载使用,应用实例ç‰ç‰ã€‚
Less 是一门 CSS 预处ç�†è¯è¨€ï¼Œå®ƒæ‰©å……了 CSS è¯è¨€ï¼Œå¢žåŠ äº†è¯¸å¦‚å�˜é‡�ã€�æ··å�ˆï¼ˆmixin)ã€�函数ç‰åŠŸèƒ½ï¼Œè®© CSS 更易维护ã€�方便制作主题ã€�扩充。
Less å�¯ä»¥è¿�行在 Nodeã€�æµ�览器和 Rhino å¹³å�°ä¸Šã€‚ç½‘ä¸Šæœ‰å¾ˆå¤šç¬¬ä¸‰æ–¹å·¥å…·å¸®åŠ©ä½ ç¼–è¯‘ 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%) }
}
编译结果
.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);
}
Less �以通过 npm 在命令行上�行;在�览器上作为脚本文件下载;或者集�在广大的第三方工具内。请�考 用法 。
在�务器端最容易的安装方�就是通过 npm (node.js 的包管�器),方法如下:
$ npm install -g less
安装 Less �,就�以在命令行上调用 Less 编译器了,如下:
$ lessc styles.less
这将输出编译之å�Žçš„ CSS 代ç �到 stdoutï¼Œä½ å�¯ä»¥å°†è¾“出é‡�定å�‘到一个文件:
$ lessc styles.less > styles.css
è‹¥è¦�输出压缩过的 CSS,å�ªéœ€æ·»åŠ -x 选项。如果希望获得更好的压缩效果,还å�¯ä»¥é€šè¿‡ --clean-css 选项å�¯ç”¨ Clean CSS 进行压缩。
执行 lessc 且�带任何�数,就会在命令行上输出所有�用选项的列表。
å�¯ä»¥åƒ�下é�¢è¿™æ ·åœ¨ä»£ç �ä¸è°ƒç”¨ Less 编译器(Node å¹³å�°ï¼‰ã€‚
var less = require('less');
less.render('.class { width: (1 + 1) }', function (e, css) {
console.log(css);
});
输出结果为:
.class {
width: 2;
}
ä½ è¿˜å�¯ä»¥æ‰‹åŠ¨è°ƒç”¨åˆ†æž�器(paser)和编译器:
var parser = new(less.Parser);
parser.parse('.class { width: (1 + 1) }', function (err, tree) {
if (err) {
return console.error(err)
}
console.log(tree.toCSS());
});
å�¯ä»¥ç»™ç¼–è¯‘å™¨ä¼ é€’å¤šä¸ªå�‚数:
var parser = new(less.Parser)({
paths: ['.', './lib'], // Specify search paths for @import directives
filename: 'style.less' // Specify a filename, for better error messages
});
parser.parse('.class { width: (1 + 1) }', function (e, tree) {
tree.toCSS({
// Minify CSS output
compress: true
});
});
查看 用法 部分了解第三方工具的详细信�。
æ¯�个 less.js å�‘布版本å�Œæ ·åŒ…å�«äº† rhino-compatible 版本。
命令行 rhino 版本需�包�以下两个文件:
命令行执行编译:
java -jar js.jar -f less-rhino-<version>.js lessc-rhino-<version>.js styles.less styles.css
以上将编译 styles.less 文件并ä¿�å˜ä¸º styles.css 文件。
输出文件的å�‚数是å�¯é€‰çš„,如果没有指定该å�‚数,lesså°†é»˜è®¤è¾“å‡ºåˆ°æ ‡å‡†è¾“å‡ºä¸ï¼ˆstdout)。
在�览器上跑 less.js �常方便开�,但是�推�用于生产环境。
在客户端使用 Less.js 是最容易的方å¼�,并且在开å�‘阶段很方便,但是,在生产环境ä¸ï¼Œæ€§èƒ½å’Œå�¯é� 性é�žå¸¸é‡�è¦�, 我们建议最好使用 node.js 或其它第三方工具进行预编译。
那就开始å�§ï¼Œåœ¨é¡µé�¢ä¸åŠ å…¥ .less æ ·å¼�表的链接,并将 rel 属性设置为 "stylesheet/less":
<link rel="stylesheet/less" type="text/css" href="styles.less" />
接下æ�¥ï¼Œä¸‹è½½ less.js 并通过 <script></script> æ ‡ç¾å°†å…¶å¼•入,放置于页é�¢çš„<head> å…ƒç´ å†…ï¼š
<script src="less.js" type="text/javascript"></script>
.less æ ·å¼�表文件,æ¯�个文件都会被å�•ç‹¬ç¼–è¯‘ã€‚å› æ¤ï¼Œä¸€ä¸ªæ–‡ä»¶ä¸æ‰€å®šä¹‰çš„任何å�˜é‡�ã€�mixin 或命å��ç©ºé—´éƒ½æ— æ³•åœ¨å…¶å®ƒæ–‡ä»¶ä¸è®¿é—®
。
在 <script src="less.js"></script> 之� 定义全局的 less 对象就�以为 Less.js 设置�数:
<!-- set options before less.js script -->
<script>
less = {
env: "development",
async: false,
fileAsync: false,
poll: 1000,
functions: {},
dumpLineNumbers: "comments",
relativeUrls: false,
rootpath: ":/a.com/"
};
</script>
<script src="less.js"></script>
了解更多 �览器选项
Less.js 基于 Apache 2 许å�¯è¯�å�‘布(我们打算将æ�¥é‡‡ç”¨å�Œè®¸å�¯è¯�æ–¹å¼�)。版æ�ƒæ‰€æœ‰ 2009-2014,Alexis Sellier å’Œ Less æ ¸å¿ƒå°�组(è§�上é�¢ï¼‰ã€‚总结如下:
完整的 Less.js 版�信��于 项目仓库内,请�考。