掌握LESS,必须先掌握LESS的编译。因为LESS是CSS预处理语言的一种,是一种动态语言。LESS可以运行在各种语言和环境中,包括浏览器端、服务器端等。就因为是一种CSS预处理语言,所以需要编译。下面为大家介绍一下编译的方法。

浏览器端编译

LESS可以在浏览器端不用编译直接使用。在浏览器端使用LESS的时候,需要引入一个JS文件,这个JS文件能够把LESS文件在浏览器端编译成CSS文件,然后在呈现到页面上。

使用方法

1、下载less-1.4.2.min.js文件;

下载地址:http://www.leemagnum.com/js/less-1.4.2.min.js

2、页面引入后缀名为“.less”的文件

<link rel="stylesheet/less" type="text/css" href="styles.less" />

3、页面引入下载过的less-1.4.2.min.js的文件

<script src="less.js" type="text/javascript"></script>

特别注意

A、LESS文件要在LESS脚本之前引用

B、必须在http(s)协议下使用

C、.less文件不可以跨域使用(可以通过在服务端设置CORS来解决)

高级设置

引入less.js之前通过创建一个全局less对象的方式来指定参数

<script type="text/javascript">
less = {
env: "development", // 或者"production"
async: false, // 异步加载导入的文件
fileAsync: false, // 使用文件协议访问页面时异步加载导入的文件
poll: 1000, // 在监视模式下,每两次请求之间的时间间隔(ms)
functions: {}, // user functions, keyed by name
dumpLineNumbers: "comments", // 或者"mediaQuery",或者"all"
relativeUrls: false,// 是否调整相对路径
// 如果为false,则url已经是相对入口less文件的
// entry less file
rootpath: ":/a.com/"// 添加到每个url开始处的路径
};
</script>
<script src="less.js" type="text/javascript"></script>

监视模式

监视模式是一种在客户端(浏览器)使用时的特性,它会在样式文件有更新时自动刷新页面。

在URL中加入#!watch并刷新页面即可开启监视模式。你也可以通过在console中运行less.watch()来开启监视模式。

修改变量

使用modifyVars可以在运行时修改LESS变量。当用新的变量值调用了这个函数时,LESS文件将会被重新编译,但不会被重新加载。一个基本的用法示例:

less.modifyVars({
'@buttonFace': 'red',
'@buttonText': '#fff'
});

调试LESS

我们在生成的CSS中带上一些额外的信息,以便一些调试工具可以定位到LESS文件中的行数。可以通过dumpLineNumbers选项或者在url中添加!dumpLineNumbers:mediaQuery来开启这个功能。你可以选择“注释”方式,使用FireLESS来调,或者选择“mediaQuery”方式,使用FireBug/Chrome开发者工具(被识别为SCSS media query调试格式)来调试。

使用koala本地编译

Koala 是一款由国人开发的开源预处理语言图形编译工具,目前已支持 Less、Sass、Compass 与 CoffeeScript。目前支持以下系统:Windows,Mac, 10.7+,Linux: 32bit / 64bit,Ubuntu: 32bit / 64bit;下载可以去百度搜索“koala下载”进行下载。下面就针对编译LESS进行介绍。

使用方法

1、安装完成后打开 Koala,把文件夹拖入界面或者是在左侧加号处选择文件夹,此时在界面左边有文件夹路径产生。

2、同时有 less 文件将显示在界面中间,右键文件选择输出 CSS 文件的路径。

3、左键点击 less 文件在右边则有功能选项栏弹出,下面将介绍功能。

自动编译(实时编译)

当开启自动编译时,使用编辑器按下 Ctrl+S 保存时,CSS 文档会自动更新。如果没有打开这个功能,那么需要使用者在自行点击"执行编译"才更新 CSS 文档。

编译选项

行注释(line comments):这个功能会在 css 文件里对应的 less 编译出来的 css 代码上方提供一个注释。注释的内容分别说明来自 less 的第几行开始,同时标明是来自那个 less 文件。小例子如下

LESS代码

@color: #4D926F;

.meng {
color: @color;
}

编译后CSS代码

/* line 3, a.less */
.meng {
color: #4d926f;
}

调试信息(debug info):这个调试功能是在保存时自动检测有无错误,注意实时编译关闭时不会开启,需要在你执行时才弹出错误。所以,建议开启实时编译。目前调试功能仅能检测出一些影响编译的错误:例如没有带{}、没带分号。这些错误,而有没有使用选择器或者样式输入错误则不会提示。小例子如下

LESS代码

@color: #4D926F;

.meng {
color: @color;
}

编译后CSS代码

@media -sass-debug-info{filename{font-family:file\:\/\/E\:\/李梦龙-文档\/LESS\/LESS详解之koala编译LESS\/less\/b\.less}line{font-family:\000033}}
.meng {
color: #4d926f;
}

严格的数学(strict Math)严格的单位(strict Units)是Koala 2。0新加的两个,目前还没有研究有啥区别编译出来都是没有注释的。小例子如下

LESS代码

@width : 2.233323232em;

.meng {
   width:@width;
}

编译后CSS代码

.meng {
width: 2.233323232em;
}

输出方式(代码压缩)

正常(normal):顾名思义,就是不压缩。

LESS代码

@width : 2.233323232em;

.meng {
width:@width;
.leng {
width:@width;
}
}

编译后CSS代码

.meng {
width: 2.233323232em;
}
.meng .leng {
width: 2.233323232em;
}

压缩(compress):顾名思义,就是压缩。

LESS代码

@width : 2.233323232em;

.meng {
width:@width;
.leng {
width:@width;
}
}

编译后CSS代码

.meng{width:2.233323232em}.meng .leng{width:2.233323232em}

YUI压缩(YUIcompress):使用 YUI 的压缩打包工具进行压缩。

LESS代码

@width : 2.233323232em;

.meng {
width:@width;
.leng {
width:@width;
}
}

编译后CSS代码

.meng{width:2.233323232em}.meng .leng{width:2.233323232em}

LESS详解之编译LESS就为大家介绍到这里了。了解了LESS是怎么编译的,才能更好的了解LESS的语法知识。有了LESS编译法宝,为我们了解LESS做好了坚实的准备。

LESS详解之编译LESS的更多相关文章

  1. SASS详解之编译输出的样式

    SASS是一种CSS预处理语言,没有装环境的话是不能被解析的.但是有了koala编译工具之后,解析SASS不需要环境也毫无压力了.SASS的输出格式有四种:嵌套.扩大.紧凑和压缩.下面结合小例子为大家 ...

  2. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  3. [Linux系统] (3)应用安装方式详解(编译安装、rpm包安装、yum安装)

    软件的安装方式: 编译安装 RPM包安装 yum安装 一.编译安装 1.下载一个源码安装包:tengine-2.3.0.tar.gz.这是淘宝二次开发过的nginx.将其解压. .tar.gz 2.查 ...

  4. 【转】Android编译系统详解(三)——编译流程详解

    原文网址:http://www.cloudchou.com/android/post-276.html 本文原创作者:Cloud Chou. 欢迎转载,请注明出处和本文链接 1.概述 编译Androi ...

  5. windows命令行中java和javac、javap使用详解(java编译命令)

    如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行.进入如图所示的画面: 可知,当前默认目录为C盘Users文件夹下的Administrator文件夹.一般而 ...

  6. gcc与g++的编译链接的示例详解

    一.编译方式的示例详解 1. 编译C代码 代码如下:main.c /*!  ************************************************************** ...

  7. Javac编译器详解

    学习<深入了解Java虚拟机>有一段时间了,大概理解了Java从源代码编译到执行出结果的过程,也能明确的知道Java是半解释性语言.在执行源代码时,先通过Javac编译器对源代码进行词法分 ...

  8. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  9. C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)

    详解link  有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错 ...

随机推荐

  1. Slickflow.NET 开源工作流引擎基础介绍(二) -- 引擎组件和业务系统的集成

    集成流程引擎的必要性 业务过程的变化是在BPM系统中常见的现象,企业管理层需要不断优化组织架构,改造业务流程,不可避免地带来了业务流程的变化,企业信息系统就会随之面临重构的可能性.一种直接的方式是改造 ...

  2. 如何让浮动的元素换行??css

    当你想要做成这种布局效果的时候 紫色框里面的内容那样 它是一个列表 li元素是块级元素  默认大小是父元素ul的宽 并且换行 如果li没有背景的话那就不用管了 可是问题来了它不但有背景 而且是根据文字 ...

  3. 极路由通过SSH添加静态路由表之后无法跳转的问题

    1.确定系统已经开启了转发功能: /etc/sysctl.conf下的配置项目为net.ipv4.ip_forward = 1 2.关闭防火墙的REJECT,也就是修改/etc/config/fire ...

  4. OpenCV/CUDA/Qt 环境配置小结

    OpenCV Qt CUDA windows环境下 配置 反复装过几次,每次都网搜攻略:自个做个记录 方便以后使用. 碰到OpenCV各种奇怪的错误 先看看 图片imread() 有没有读空 再找其他 ...

  5. mq刷盘方式

    Broker 在收到Producer发送过来的消息后,会存入CommitLog对应的内存映射区中,见CommitLog类的putMessage方法.该方法执行OK后,会判断存储配置中刷盘模式:同步or ...

  6. iOS-实现最简单的画线功能 . 转

    前提:CoreGraphics.framework - (void)viewDidLoad { [super viewDidLoad]; UIImageView *imageView=[[UIImag ...

  7. 80x86 CPU 的工作模式

    8086/8088微处理器只有一种工作模式:实地址模式. 32为的80x86微处理器有3种工作模式:实地址模式.保护模式和虚拟8086模式.   实地址模式 对于8086/8088微处理器,实模式是它 ...

  8. 每天一个linux命令-vi

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  9. hbase数据模型以及编码压缩(转)

    原文链接:hbase源码系列(四)数据模型-表定义和列族定义的具体含义 hbase是一个KeyValue型的数据库,在<hbase实战>描述它的逻辑模型[行键,列族,列限定符,时间版本], ...

  10. 第一章 Java代码执行流程

    说明:本文主要参考自<分布式Java应用:基础与实践> 1.Java代码执行流程 第一步:*.java-->*.class(编译期) 第二步:从*.class文件将其中的内容加载到内 ...