简单的LESS Tutorial

1. 什么是LESS?

LESS是一种动态的CSS语言,更专业的称呼是CSS preprocessor。作为CSS的扩展语言,LESS可以让CSS文件逻辑上更清晰,从而更容易维护和更新。LESS是开源的,诞生于2009年,采用javascript开发, LESS深受另外一种动态CSS语言SASS/SCSS的影响(SCSS是SASS的升级版) 。相对于SASS/SCSS或者其他CSS preprocessor, LESS的典型特征有两个,

  • 支持实时编译,例如网页或者应用可以直接应用less文件,通过嵌入less.js,browser支持less实时编译成css文件,并完成rendering
  • 支持纯CSS

2. 如何应用LESS?

在实际的开发中,可以有两种应用LESS的方式,直接应用LESS和间接应用LESS。如果选择直接应用LESS文件,则需要在相应的页面嵌入less.js, 浏览器会实时的把LESS文件编译为CSS文件并进行渲染,即页面中需要包含下面的代码,


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

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

如果选择间接的方式,则需要预先把LESS编译成CSS文件。

很多编辑器都有LESS的插件提供,例如笔者最喜欢的前端开发利器brackets上有一个插件LESS Auto Compile,在保存less文件的时候,这个插件能自动编译生成对应的css文件,不过需要在less文件开始插入如下的代码,


//out:./test.css,compress:false,stricMath:true

在IDE开发工具Netbeans上也有类似的功能提供。

在Ubuntu系统上,你可以安装LESS, 安装命令如下:


sudo npm install -g less

注意:LESS是运行在node中的,因此ubuntu系统中需要预先安装node.js

Ubuntu系统中编译less文件的命令如下:


lessc styles.less > styles.css

3. LESS的四个典型应用案例

3.1 Netsting

LESS代码如下:


.small-1 {
   display: block;
   zoom: 1;
   .test {
       font-size: 0;
       height: 0;
   }
}

编译完成对应的CSS代码如下:


.small-1 {
 display: block;
 zoom: 1;
}
.small-1 .test {
 font-size: 0;
 height: 0;
}

3.2 Variable

LESS代码如下:


@images: "../img";
body {
   color: #444;
   background: url("@{images}/white-sand.png");
}

编译完成对应的CSS代码如下:


body {
 color: #444;
 background: url("../img/white-sand.png");
}

3.3 Pseudo Selector

LESS代码如下:


.small-1{
   display: block;
   zoom: 1;
   &:after,&:before {
       content: " ";
       display: block;
       font-size: 0;
   }
}

编译完成对应的CSS代码如下:


.small-1,
{
 display: block;
 zoom: 1;
}
.small-1:after,
.small-1:before,
{
 content: " ";
 display: block;
 font-size: 0;
}

注意less中的 & 指的是parent selector, 在本例中指.small-1

3.4 Dynamic CSS Selector

LESS代码如下:


.grid-gen(3);
.grid-gen(@n,@i:1) when (@i =<@n) {
   [email protected]{i} {
       width: (@i *100% /@n);

}
   .grid-gen(@n,(@i + 1));
}

编译完成对应的CSS代码如下:


.small-block-grid-1 {
 width: 33.33333333%;
}
.small-block-grid-2 {
 width: 66.66666667%;
}
.small-block-grid-3 {
 width: 100%;
}

简单的LESS Tutorial,布布扣,bubuko.com

时间: 2024-10-10 14:51:28

简单的LESS Tutorial的相关文章

试着用React写项目-利用Webpack搭环境

转载请注明出处:王亟亟的大牛之路 最近都赋闲,然后前些天开了个会就是关于"不加班就得死"的死命令,作为抵制加班的先头兵,我感觉我时日无多是时候加快武装自己的速度不然吃土都不配了,就在这个大条件下捡起我丢在地上的React. ok,那既然知道要做什么了,就要考虑用什么来发布项目,这里第一考虑到Webpack 那Webpack能干什么? 官方对他的解释很简单 This small tutorial will guide you through a simple example. 我们用We

Pyhon + Django 1.7.2 tutorial + virtualenv简单使用

最近换了工作, 进的team项目中大概是个python + django的组合, python本身的语法以及特性撸过一边之后,这两天按着django官方的文档倒腾了几天, 文档非常详细,本人英语水平也就那样,基本没什么压力,建议像我一样的新手直接去看官方文档,首先内容绝对是更新到了最新的版本,内容组织渐进有序,当然咯,就算按照文档一步一步来,倒腾的过程中总归会碰到些问题,这边博文权当给个记个流水账以后能翻翻或者说有更深的理解了顺便来update下,看看自己的一些思考方式,若果顺便也能给其他人带来

Spring security oauth2最简单入门环境搭建

关于OAuth2的一些简介,见我的上篇blog:http://wwwcomy.iteye.com/blog/2229889 PS:貌似内容太水直接被鹳狸猿干沉.. 友情提示 学习曲线:spring+spring mvc+spring security+Oauth2基本姿势,如果前面都没看过请及时关闭本网页. 我有信心我的这个blog应该是迄今为止使用spring security oauth2最简单的hello world app介绍了,如果你下下来附件源码还看不懂,请留言.. 其他能搜到的如h

《Ruby on Rails Tutorial》

总共分为11章节,一个简单的微博系统.完全是以测试去驱动开发,所以书里面有很多测试代码,刚开始会觉得很不习惯,然后过了一段时间后,还是不习惯这样的开发方式.最后选择以自己的方式来整理书里面的知识点.也就是说,我把开发的部分,跟测试部分,区分开来.后面想了下,觉得知识点可以分为以下4点. 1.git的使用初始化项目 git init添加内容 git add .提交到本地仓库 git commit -m "备注"提交到远程分支 git push拉取内容 git pull查看分支 git b

教程 1:让我们通过例子来学习(Tutorial 1: Let’s learn by example)

通过这第一个教程,我们将引导您从基础完成创建简单的带有注册表单的应用. 我们也将解释框架行为的基本方面.如果您对Phalcon的自动代码生成工具有兴趣, 您可以查看 developer tools. 确认安装(Checking your installation)? We'll assume you have Phalcon installed already. Check your phpinfo() output for a section referencing "Phalcon"

Console命令详解,让调试js代码变得更简单

Firebug是网页开发的利器,能够极大地提升工作效率. 但是,它不太容易上手.我曾经翻译过一篇<Firebug入门指南>,介绍了一些基本用法.今天,继续介绍它的高级用法. =================================== Firebug控制台详解 作者:阮一峰出处:http://www.ruanyifeng.com/blog/2011/03/firebug_console_tutorial.html 控制台(Console)是Firebug的第一个面板,也是最重要的面板

Mule ESB-Content-Based Routing Tutorial(2)

承接 Mule ESB-Content-Based Routing Tutorial(1) 五.运行应用程序 完成创建,配置,并保存你的新的应用程序,您就可以在嵌入Mule的服务器上运行(包括在Mule Studio中,作为捆绑下载的一部分). 1.在Package Explorer窗格中,右键单击Basic Tutorial.mflow文件,然后选择Run As>Mule Application. (如果您还没有保存,Mule会提示您现在保存. 2.Mule会立即显示运行进度齿轮,开始您的应用

python 编写简单的setup.py

学习python也已经有一段时间了,发现python作为脚本语言一个很重要的特点就是简单易用,而且拥有巨多的第三方库,几乎方方面面的库都有,无论你处于哪个行业,想做什么工作,几乎都能找到对应的第三方库.别人造好了轮子,我们直接拿过来用,这大大方便了开发,也极大地提升了效率.那么问题来了,有那么多的第三方库,我们如何开发一个属于自己的库呢?其实这是一个比较大的问题,因为开发一个库涉及到的问题很多,比如这个库要用来干嘛,实现什么功能,有没有已经类似的库了,效率如何等.但是这里,我只想抛砖引玉,简单记

A tutorial on Principal Components Analysis | 主成分分析(PCA)教程

A tutorial on Principal Components Analysis 原著:Lindsay I Smith, A tutorial on Principal Components Analysis, February 26, 2002. 翻译:houchaoqun.时间:2017/01/18.出处:http://blog.csdn.net/houchaoqun_xmu  |  http://blog.csdn.net/Houchaoqun_XMU/article/details