【LESS系列】简介和使用
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系列】简介和使用的更多相关文章
- [置顶] 《MFC游戏开发》笔记一 系列简介
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9299121 作者:七十一雾央 新浪微博:http:/ ...
- 点评cat系列-简介
面上有很多优秀的 OS 级监控系统 (比如 falcon), 这些监控系统主要聚焦在 CPU/IO/Mem/Disk 和应用端口, falcon 甚至可以监控到 JVM. 但对于应用系统内部的一些监控 ...
- Linux性能监控工具sysstat系列简介
简介 sysstat提供了Linux性能监控的工具集,包括sar.sadf.mpstat.iostat.pidstat等,这些工具可以监控系统性能和使用情况.各工具的作用如下: iostat - 提供 ...
- phonegap 开发指南系列----简介(2)
一.简介 Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等. Cordova还提供了一组统一的Ja ...
- Apache Commons 系列简介 之 Pool
一.概述 Apache Commons Pool库提供了一整套用于实现对象池化的API,以及若干种各具特色的对象池实现.2.0版本,并非是对1.x的简单升级,而是一个完全重写的对象池的实现,显著的提升 ...
- [JQuery EasyUI系列]简介
一.jQuery EasyUI是一个基于jQuery的框架,继承了各种用户界面插件. 二.jQuery EasyUI框架提供了创建网页所需的一切,可以轻松建立站点. easyui是一个基于jQuery ...
- Neo4j系列-简介及应用场景
1.什么是Neo4j? Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】
最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tuto ...
- 【形式化方法:VDM++系列】1.前言
1.前言 今天开始上课学习软件需求分析与VDM++,经过一节课的学习,我又增长了见识. 软件需求工程在软件工程中处于十分核心的地位:需求分析的好坏直接决定软件工程的成败.这一点是我之前对需求工程的理解 ...
- Angular单元测试系列
Angular单元测试系列 - 大纲Angular单元测试系列 - 简介Angular单元测试系列 - 如何使用Jasmine进行Angular单元测试Angular单元测试系列 - Router.C ...
随机推荐
- Delphi IOS开发环境安装
RAD Delphi XE/10 Seattle 安装IOS.OSX环境安装,IOS模拟器,MAC X 真机可以调试 http://community.embarcadero.com/blogs/en ...
- C# 获取唯一数字
/// <summary> /// 如果你想生成一个数字序列而不是字符串,你将会获得一个19位长的序列.下面的方法会把GUID转换为Int64的数字序列. /// </summary ...
- NPOI CellStyle 设置
public class ExcelNPOIUnit { public static void SetCell(IWorkbook workbook, ISheet sheet, IRow row, ...
- hdu5693 D game&&hdu 5712 D++ game
题目链接:5693 题目链接:5712 对于这个D game.注意消除之后两遍的序列是可以拼合到一起的!我们可以想到有区间DP的做法.我们设\(f[i][j]\)表示区间i,j可以被消除. 显然如果这 ...
- nowcoder(牛客网)提高组模拟赛第四场 解题报告
T1 动态点分治 就是模拟..... 但是没有过!! 看了题解之后发现.... 坑点:有可能 \(x<=r\),但是
- leetcode 42. 接雨水 JAVA
题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下 ...
- 用户画像,知乎Live总结
ttps://www.zhihu.com/lives/889189116527403008/messages 用户画像两层含义:单个标签:用户的分布 标签体系要与时俱进,如果标签被下游强依赖,则不轻易 ...
- [Maven实战-许晓斌]-[第二章]-2.6 NetBeans上面安装Maven插件
NetBeans上面安装Maven插件
- Tomcat企业级应用
简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由 ...
- [ActionScript 3.0] AS3实现3D旋转
package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Display ...