CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用。造成这些困难的很大原因源于 CSS 是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。
LESS 在 CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了 CSS 的编写,并且降低了 CSS 的维护成本,就像它的名称所说的那样,LESS 可以让我们用更少的代码做更多的事情。
本质上,LESS 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。下面是一个简单的例子:
清单 1. LESS 文件
@color: #4D926F;
#header {
color: @color;
}
h2 {
color: @color;
}
经过编译生成的 CSS 文件如下:
清单 2. CSS 文件
#header {
color: #4D926F;
}
h2 {
color: #4D926F;
}
我们可以直接在客户端使用 .less(LESS 源文件),只需要从 http://lesscss.org下载 less.js 文件,然后在我们需要引入 LESS 源文件的 HTML 中加入如下代码:
<link rel="stylesheet/less" type="text/css" href="styles .less">