Less安装

Less 可以通过 npm 在命令行上运行;在浏览器上作为脚本文件下载;或者集成在广大的第三方工具内。请参考 用法 。

Q:I'm using IIS 7.5 and I'm unable to load the less file because it gives a 404 error.

A:adding the MIME type in IIS

When using Asp.Net you can add the mime type in your web.config:

<system.webServer>
  <staticContent>
    <mimeMap fileExtension=".less" mimeType="text/css" />
  </staticContent >
</system.webServer>

服务端安装

在服务器端最容易的安装方式就是通过 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
  });
});

第三方工具

查看 用法 部分了解第三方工具的详细信息。

Rhino 命令行

每个 less.js 发布版本同样包含了 rhino-compatible 版本。

命令行 rhino 版本需要包含以下两个文件:

  • less-rhino-.js - 编译执行,
  • lessc-rhino-.js - 命令行支持

命令行执行编译:

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开发时最直观的一种方式。如果是在生产环境中,尤其是对性能要求比较高的场合,建议使用node或者其它第三方工具先编译成CSS再上线使用。

开发和部署 LESS 便于快速使用浏览器,但却是有代价的。每次页面加载时,编译用的 JavaScript 都运行于用户的浏览器之上,这耗尽了计算资源并减缓了页面加载

在客户端使用 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.js 之前加载你的样式表。
  • 如果加载多个 .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> 

但是这影响所有初始链接标记。你也可以在指定的脚本标签的增加选项,如下:

代码如下:
<script src="less.js" data-env="development"></script>

或者,你也可以在链接配置参数覆盖某些选项,如下:

码如下:
<link data-dump-line-numbers="all" data-global-vars='{ myvar: "#ddffee", mystr: "\"quoted\"" }' rel="stylesheet/less" type="text/css" href="less/styles.less">

注意:

以上三种配置参数的优先级为:link标签的>script标签>全局对象 link标签的配置只和时间选项有关,其他不起作用 观察模式:   如果使用观察模式,则配置参数的env为development。然后在Less.js文件加载之后调用less.watch(),如下:

代码如下:
<script>less = { env: 'development'};</script> <script src="less.js"></script> <script>less.watch();</script>

注意:

  如果启动了观察模式,则浏览器会不断请求less文件,根据Last-Modified参数判断是否重新渲染页面,这会造成很大的性能消耗,所以在线上不要开启观察模式。如果是开发环境,这方便了我们观察效果。你也可以在href后面加上'#!watch'来触发观察模式。

完整demo: reset.less是重置浏览器默认样式,config.js是浏览器选项的配置参数,如下:

config.js

代码如下:
less = { env: "development", // or "production" async: false, // load imports async fileAsync: false, // load imports async when in a page under // a file protocol poll: 1000, // when in watch mode, time in ms between polls functions: {}, // user functions, keyed by name dumpLineNumbers: "all", // "comment" or "mediaQuery" or "all" relativeUrls: false,// whether to adjust url's to be relative // if false, url's are already relative to the // entry less file rootpath: ":/"// a path to add on to the start of every url //resource };

index.html

代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <link rel="stylesheet/less" type="text/css" href="./less/reset.less" /> <link rel="stylesheet/less" type="text/css" href="./less/styles.less" /> <script src="./js/config.js"></script> <script src="./js/less-1.3.3.min.js"></script> <script>less.watch();</script> </head> <body> </body> </html>

参数详解: async

Type: Boolean Default: false 是否异步加载重要文件 dumpLineNumbers

Type: String Options: ''| 'comments'|'mediaquery'|'all' Default: '' 如果设置了,这增加了源代码行信息输出的CSS文件。这有助于您调试,分析其中一个特定的规则是从哪里来的。 comments 选项用于输出user-understandable内容, mediaquery 选项用于使用火狐插件解析css文件信息. env

Type: String Options: development or production Default: depends on page URL 运行环境,如果是production,你的css文件将被缓存到本地并且信息不会输出到控制台。如果url以file://开头或者在你本地或者没有标准的端口,这都将被认为是development模式。 例如: less = { env: 'production' }; errorReporting

Type: String Options: html|console|function Default: html 设置编译失败时错误报告的方法。 fileAsync

Type: Boolean Default: false 当以file协议访问页面,是否异步引入文件 functions

Type: object 用户自定义函数 e.g. less = { functions: { myfunc: function() { return new(less.tree.Dimension)(1); } } }; 可以像Less函数一样使用它。 .my-class { border-width: unit(myfunc(), px); } logLevel

Type: Number Default: 2 在控制台输出日志的数量。如果是production环境,将不会输出任何信息。 2 - Information and errors1 - Errors0 - Nothing poll

Type: Integer Default: 1000 在观察模式下,测试的时间。 relativeUrls

Type: Boolean Default: false 使用相对路劲。如果设置FALSE,则url是相对根目录文件。 globalVars

Type: Object Default: undefined 全局变量列表注入代码。“字符串”类型的变量必须显式地包含引号。 less.globalVars = { myvar: "#ddffee", mystr: "\"quoted\"" }; 这个选项定义了一个可以被文件引用的变量。这个变量也可以在文件中重新定义。 modifyVars

Type: Object Default: undefined Same format as globalVars. 与 globalVars参数含义相反,它将会在你文件最后定义,这意味着它将重写你在文件定义的。 rootpath

Type: String Default: false 设置根目录,所有的Less文件都会以这个目录开始。 useFileCache

Type: Boolean Default: true (previously false in before v2) 是否要使用每个会话文件缓存。缓存文件可以使用modifyVars,并且它不会再次检索所有文件。如果您使用观察模式或调用刷新加载设置为true,那么运行之前缓存将被清除。

转自:http://www.jb51.net/css/258397.html

======================================LESS使用===============================================

LESS编写技巧分享,快乐编写CSS

http://www.xuanfengge.com/less-writing-skills-sharing-happy-to-write-css.html

sass、less和stylus的安装使用和入门实践

http://caibaojian.com/sass-less-stylus.html#t3

LESS CSS 框架简介

http://www.ibm.com/developerworks/cn/web/1207_zhaoch_lesscss/

你可能感兴趣的:(less,客户端安装,浏览器端安装)