LESS —— 一个CSS预编译框架,它在CSS的语法基础之上,引入了变量、Mixin(混入)、运算以及函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本,就像它的名称所说的那样,LESS可以让我们用更少的代码做更多的事情。

有CSS基础的同学,学习LESS会非常容易上手,因为它们的非常相似。

本质上,LESS包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的CSS文件。LESS并没有裁剪CSS原有的特性,更不是用来取代CSS的,而是在现有CSS语法的基础上,为CSS加入程序式语言的特性。

LESS可以直接在客户端使用,也可以在服务器端使用,但是直接使用LESS的做法我是不推荐的,因为这样增加了性能损耗。在实际项目开发中,我们更推荐将LESS文件编译生成静态CSS文件,并在HTML文档中应用。因此,这里直接省略了如何在客户端和服务端使用LESS,有兴趣的同学,可以到【http://www.ibm.com/developerworks/cn/web/1207_zhaoch_lesscss/】这篇文章找到相关的信息,and本文中不少的内容也是摘自该文章,这里顺便表达对该文章的尊重。

如何将LESS文件编译生成静态CSS文件呢?小生在实际开发中所用的方法是通过Webstrom的LESS CSS Compiler插件。它能在LESS文件修改保存的时候检测LESS文件变化,然后编译生成CSS文件。当然,对于有些同学来说,开发机器不怎么给力,你也可以手动触发编译,这样可以减轻机器负担。(回想起当年的血泪史了...)当然,方法总是比问题多。除了这个方法之外,肯定还有别的方法,这里就不作探讨了,有需要的同学自行摸索吧。

接下来我们来具体说说我上面提到的方法——Webstrom加LESS CSS Compiler插件,三言两语的描述,相信对于没接触过的同学来说还是太过模糊,我们来点实际的。

Webstrom官网:http://www.jetbrains.com/webstorm/index.html

LESS CSS Compiler官方插件页:http://plugins.jetbrains.com/plugin?pr=&pluginId=7059

Webstrom的下载我相信应该是没什么大问题的,因为就算上不去官网,国内也应该有其他的下载资源。

对于破解嘛,天朝的码农们的强项,人人必备,也无须我废话。

至于LESS CSS Compiler...如果你实在打不开官方插件页,试试直接用下面的url下载试试看吧...

http://plugins.jetbrains.com/files/7059/14973/lessc-plugin.zip

如果这样也不行,那建议你考虑用其他方法吧,国内我一时也没找到很好的下载资源。

下载完之后,开始安装吧...

Webstrom,傻瓜式无脑安装,不废话...不过这里补充一点,我这时用的是Webstrom8.0版本,所以后面的步骤都是以此版本为基础的。

安装好后,运行Webstrom——右上角菜单栏file选项卡——settings——左侧选Plugins——右侧面板底部的几个按钮中找到Install plugin from disk...——选中LESS CSS Compiler插件zip压缩包的所在路径——点OK安装——再点击settings窗口上的OK按钮——弹出重启Webstrom提示框——重启Webstrom——LESS CSS Compiler插件安装大功告成~~~

然后是配置阶段,好吧,到了这个阶段必须上图了...

首先建一个测试项目,结构如下,简单得不能再简单了吧~~

然后打开settings界面,找到LESS Profiles选项,然后点击加号添加配置,输入配置名,这里我用的是test,然后选中刚添加的test配置,就能看到如下图的界面

Name - 配置名,也就是刚刚的test

LESS source directory - less源文件所在目录

Include files by path - 对应目录中,需要执行编译的less文件(多个文件用“,”隔开,支持“*”和“?”分别进行多个和单个字符的匹配)

Exclude files by path - 对应目录中,不需要执行编译的less文件(多个文件用“,”隔开,支持“*”和“?”分别进行多个和单个字符的匹配)

CSS Output Directory - 生成css文件的存放目录

Compile automatically on save - 当文件修改并保存时,自动编译(个人不建议勾选此项,比较推荐使用手动编译)

Compress CSS output - 编译后生成压缩版的CSS文件(我在开发过程中一般情况下都会勾选它,只有在个别特殊调试有需要的时候,才会把选中去掉)

因为我们需要用到手动触发less编译,所以这里给这一操作设置一下快捷键。打开settings界面,找到keymap,然后在快捷键列表里找到Compile to CSS。

啥?怎么找?合理运用Webstorm自带的搜索功能吧,这里就不再对这些细节做逐步细述了。我已经是一个粗枝大叶的人了,我都知道的东西,你不知道的话,你就该检讨一下了。

找到之后,觉得什么快捷键方便好记,随便用。只要注意不要和默认快捷键冲突就行了,如果出现冲突,Webstorm会有提示的。所以后面你爱咋折腾咋折腾,我在这里不废话了。

最后让我们来测试一下LESS是否能成功编译

先在test.less文件上写下这么一段代码...

@red: #ff0000;
.aa {
color: @red;
}

然后手动触发LESS编译,没多久CSS输出目录中的同名CSS文件里输出了这样的结果...(PS:如果同名的CSS文件还没有创建,编译器会帮我们自动创建一个的)

.aa {
color: #ff0000;
}

Nice!编译成功!至此大功告成。

上面的方法是我目前用过的最简便的方法了。不过有一个弊端是依赖Webstrom及其插件,对于开发工具统一化的团队来说会比较适合。

但如果是一些比较大的团队,成员所用开发工具并不统一的话,那就不好推广了。

这时候,我们可以考虑更通用的做法,比如通过grunt的grunt-contrib-less和grunt-contrib-watch工具。

这里就不再对这种做法进行细述了,网上关于grunt使用的学习资料多不胜数,如有需要自行研究吧。

【LESS系列】简介和使用的更多相关文章

  1. [置顶] 《MFC游戏开发》笔记一 系列简介

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9299121 作者:七十一雾央 新浪微博:http:/ ...

  2. 点评cat系列-简介

    面上有很多优秀的 OS 级监控系统 (比如 falcon), 这些监控系统主要聚焦在 CPU/IO/Mem/Disk 和应用端口, falcon 甚至可以监控到 JVM. 但对于应用系统内部的一些监控 ...

  3. Linux性能监控工具sysstat系列简介

    简介 sysstat提供了Linux性能监控的工具集,包括sar.sadf.mpstat.iostat.pidstat等,这些工具可以监控系统性能和使用情况.各工具的作用如下: iostat - 提供 ...

  4. phonegap 开发指南系列----简介(2)

    一.简介      Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.      Cordova还提供了一组统一的Ja ...

  5. Apache Commons 系列简介 之 Pool

    一.概述 Apache Commons Pool库提供了一整套用于实现对象池化的API,以及若干种各具特色的对象池实现.2.0版本,并非是对1.x的简单升级,而是一个完全重写的对象池的实现,显著的提升 ...

  6. [JQuery EasyUI系列]简介

    一.jQuery EasyUI是一个基于jQuery的框架,继承了各种用户界面插件. 二.jQuery EasyUI框架提供了创建网页所需的一切,可以轻松建立站点. easyui是一个基于jQuery ...

  7. Neo4j系列-简介及应用场景

    1.什么是Neo4j? Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储 ...

  8. 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】

    最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...

  9. 【形式化方法:VDM++系列】1.前言

    1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解 ...

  10. Angular单元测试系列

    Angular单元测试系列 - 大纲Angular单元测试系列 - 简介Angular单元测试系列 - 如何使用Jasmine进行Angular单元测试Angular单元测试系列 - Router.C ...

随机推荐

  1. ibatis源码学习3_源码包结构

    ibatis的技术是从xml里面字符串转换成JAVA对象,对象填充JDBC的statement查询,然后从resultset取对象返回,另外利用ThreadLocal实现线程安全,JDBC保证了事务控 ...

  2. Log4net日志

    log4net简介(摘抄于百度百科):      log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库 ...

  3. 腾讯云/阿里云/微软云安装ISO镜像系统方法

    如今云服务的盛行,我们的开发和应用中场景应用也层出不穷,有时我们需要安装自由的镜像却越来越难,甚至有些云出于安全原因自己用户安装自由镜像,那么今天将带给大家安装自有镜像的方法. 前提条件:你的现有服务 ...

  4. poj 3468 A Simple Problem with Integers 线段树区间加,区间查询和(模板)

    A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://poj.org/problem?i ...

  5. 最大子段和问题(dp)

    最大子段和问题 给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大?   例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4, ...

  6. 模拟RHCSA考试环境

    转载自 http://blog.51cto.com/10681635/2084794 模拟RHCSA考试环境 第1章  修改 root 密码 第2章  配置网络 第3章  设定SeLinux 第4章  ...

  7. Python3.4程序异常判断

    实例代码[更多实例,请访问:www.yeayee.com] 1 #idle中按F5可以运行代码 2 #引入外部模块 import xxx 3 #random模块,randint(开始数,结束数) 产生 ...

  8. NSCharacter​Set 关于字符串编码

    此文转自:http://nshipster.cn/nscharacterset/ 只为个人为了查找问题方便才复制过来的....... 正如之前提前过的,基础类库(Foundation)拥有最好的.功能 ...

  9. chromium 安裝 flash

    CentOS yum install chromium-pepper-flash Debian apt-get install chromium-pepper-flash archlinux pacm ...

  10. 通过cookie绕过验证码登录

    在我们做自动化的时候碰到一些比较难破解的验证码时是非常头疼的,一般来说最好的办法就是让开发屏蔽,这样最有益身心健康. 那么今天我介绍的这个方法也挺简单的,就是通过添加cookie的方式绕过验证码直接登 ...