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
    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 directivesfilename: 'style.less' // Specify a filename, for better error messages
});parser.parse('.class { width: (1 + 1) }', function (e, tree) {tree.toCSS({// Minify CSS outputcompress: 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.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>

转载于:https://www.cnblogs.com/liyujun1988/p/5005057.html

Bootstrap 教程 之 Less 入门文档相关推荐

  1. 一篇实验结果统计检验入门文档

    一篇统计基础文档 写在前面 以前看到保哥发教程发写的文档就觉得很没有必要,感觉高端的统计学知识.争论离我们的需求很远,而基础的统计学应用早就看腻了. 直到最近王行同学拿到实验数据想做统计却根本不知道统 ...

  2. GeoPandas官方快速入门文档(中文翻译版)

    GeoPandas官方快速入门文档(中文翻译版) 原文链接>>Introduction to GeoPandas 点这里可以一键跑通>>GeoPandas 简介 GeoPand ...

  3. UniRx官方入门文档

    UniRx 官方文档翻译 UniRx官方入门文档 UniRx入门系列一 UniRx入门系列二 UniRx入门系列三 UniRx入门系列四 UniRx入门系列五 UniRx 基于Unity的响应式编程框 ...

  4. iOS Sprite Kit教程之使用帮助文档以及调试程序

    iOS Sprite Kit教程之使用帮助文档以及调试程序 IOS中使用帮助文档 在编写代码的时候,可能会遇到很多的方法.如果开发者对这些方法的功能,以及参数不是很了解,就可以使用帮助文档.那么帮助文 ...

  5. 一份其实很短的 LaTeX 入门文档

    一份其实很短的 LaTeX 入门文档 优雅的 LaTeX 有很多 Geeks 或者 LaTeX's Fanatical Fans 过分地强调了 LaTeX 的一些并非重点的特性,以至于很多初学者会觉得 ...

  6. Entity Framework Core 中文入门文档

    点击链接查看文档: Entity Framework Core 中文入门文档 转载于:https://www.cnblogs.com/ideck/p/efcore.html

  7. CAN总线入门、LIN总线入门文档-蓝凑云下载。 LDFEditor下载 ISO-14229、15765、11898下载与阅读

    这两个入门文档: 中文版.讲解得全面又详细,初学者值得一看. 一.CAN总线入门-瑞萨版 1)https://wwe.lanzoui.com/igt4hit08je2)链接:https://pan.b ...

  8. Android入门文档

    该文章为网络材料整理,部分内容经过重新编写. 一. 名词介绍 JDK:Java Development Kit Java 语言的软件开发工具包 JRE:Java Runtime Environment ...

  9. CloudEvents 入门文档

    CloudEvents 入门文档 - 1.0.3 版本 文档来自:GitHub CloudEvents 摘要 这份非技术规范文档用来为你提供关于 CloudEvents 规范的总体概览.它补充了 Cl ...

  10. matlab入门文档

    博主太赞了,把文档搬运好了:https://blog.csdn.net/in_nocence/article/details/78358614 matlab自带的入门文档,我看了半天的英文,脑阔疼 但 ...

最新文章

  1. 编程语言开发编程语言_D编程语言是开发的绝佳选择的5个理由
  2. 第二章 Java多线程入门类和接口
  3. linux常见功能代码,几种功能类似Linux命令汇总(示例代码)
  4. 文本数据标注工具doccano【介绍最详细的一遍文章】
  5. Numpy and Theano broadcasting
  6. 帆软查询前后鼠标进入到某个位置隐藏或显示参数面板
  7. flex弹性布局学习总结
  8. 医疗中的ai_医疗保健中自主AI的障碍
  9. 《高质量C/C++编程》读书笔记
  10. windows消息钩子
  11. 干货——MRD(市场需求文档)模板
  12. 一个人摘了一些桃子,第一天卖掉了一半,又吃了一个,第二天卖掉了一半,又吃了一个,以后天天都是如此处理,到第n天发现桃子只剩下一个桃子,n是参数,返回值是一共摘的桃子数。 求两个数的最大公约数
  13. Android App 耗电量分析-1
  14. 【论文阅读笔记】Multi-Task Feature Learning for Knowledge Graph Enhanced
  15. lcb2板服务器状态说明,西子奥的斯服务器LCB2RCB2服务器使用[技术专攻]
  16. 番茄工作法基础操作手册
  17. 问题记录:键盘win键无法使用,组合键无反应,win+L不能锁屏
  18. betapubgmobile服务器维护,pubg mobile beta测试版
  19. 限制输入框 输入文本类型(纯数字/数字/中文/英文)
  20. 如何提取抖音短视频中的音乐

热门文章

  1. Java从入门到精通 第19章 异常的捕获和处理
  2. 【鲲鹏HCIA考试】随堂习题卷三
  3. setspan字体加粗_Android 图文混排富文本编辑器实现详解
  4. 采用SVM和神经网络的车牌识别(流程图及详细解释)
  5. Linux 错误: $'\r': command not found错误解决
  6. 什么服务器有信号枪,绝地求生刺激战场8个必刷信号枪的时段地点
  7. 构造方法之间如何调用?
  8. python列表操作符_Python中list()列表操作符的案例分享
  9. kubernetes视频教程笔记 (8)-资源类型
  10. centos 6.5 安装mysql rpm_centos6.5 rpm 安装mysql5.6