下面给大家讲解下Less,纯手工,入门级别,相信没学过的人阅读完后就懂了,以下是我要讲的四点:

  • 简单介绍

    Less CSS 是一个使用广泛的 CSS 预处理器。

    对 CSS 进行扩展,减少很多 CSS 的代码量。

    LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数.

    LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可一在服务端运行 (借助 Node.js).

  • 快速入门   

    在服务器端最容易的安装方式就是通过 npm (node.js 的包管理器),方法如下:

$ npm install -g less

    安装 Less 后,就可以在命令行上调用 Less 编译器了,如下:

$ lessc gloal.less

    你可以将输出重定向到一个文件:

$ lessc gloal.less > gloal.css
  • 常用语法 

1.变量

@color: #4d926f;
#header { color: @color; } #header { color: #4d926f; } @color: #253636;
@color: #ff3636; //覆盖第一次的定义
#header {color: @color;} //多次反复解析 #header {color: #ff3636;}

2.Mixins——混入, 类似函数或宏

.borderRadius(@radius:3px){
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
border-radius: @radius;
} #header { .borderRadius(10px); } .btn { .borderRadius}

编译后:

#header {
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.btn {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}

Mixins注意事项:

a.可以不使用参数 .wrap(){…} .pre{ .wrap }

b.内置变量@arguments代表所有参数(运行时)的值 .boxShadow(@x:0,@y:0,@blur:1px,@color:#000){ box-shadow: @arguments; } 注意,在参数没有默认值的前提下使用@arguments调用时必须赋值,否则会导致整个页面内的less语法出错而失效。

c. Mixins必须使用ID或者类,即#xx或.xx,否则无效。

3.嵌套   

#header {
&.fl{ float: left; }
.mln { margin-left:; }
} #header.fl{float: left;}
#header .mln {margin-left:;}

4.运算&函数

@init: #111111;
@transition: @init*2;
.switchColor {
color: @transition;
}
.switchColor {
color: #222222;
}
.lightColor{
lighten(@color, 10%);
}

运算主要是针对任何数字、颜色、变量的操作,支持加、减、乘、除、()或者更复杂的综合运算;而Functions主要是针对颜色,同时提供了部分数学函数,具体的API可参阅文档。

5.继承    

.animal {  background-color: black;  color: white;}
.bear { &:extend(.animal); background-color: brown;}

当前还有其他继承的写法,我这只是写了其中的一种,详细可在官网上查看文档。

   

6.作用域

@var: red;
#page {
@var: white;
#header { color: @var; // white }
}
#footer {
color: @var; // red
}

Less中的变量、Mixins等的作用域都只是当前文件!

7.注释

  单行注释方式: //单行注释

  单行、多行注释: /* 注释 多行注释 */

  • 资源分享

    官网:lesscss.org

    中文社区:www.lesscss.net

    在线LESS编译:http://tool.oschina.net/less

    ...

5分钟快速入门 - Less的更多相关文章

  1. 一分钟快速入门openstack

    一.它是什么,能干什么想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些.op ...

  2. Vue.js——60分钟快速入门(转)

    vue:Vue.js——60分钟快速入门 <!doctype html> <html lang="en"> <head> <meta ch ...

  3. Vue.js 60 分钟快速入门

    Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下 ...

  4. 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门

    Vue.js——60分钟快速入门   Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理 ...

  5. AngularJS 30分钟快速入门【译】

    引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...

  6. ichartjs一分钟快速入门教程

    1.构建项目环境 由于ichartjs是一个js库,所以只要将ichart.js加入你页面的head中就完成了ichartjs的运行环境.代码如下: <script type="tex ...

  7. Redis 十分钟快速入门

    本教程是一个快速入门教程,所以Redis的命令只是简单介绍了几个常用的,如果有其他需求请求官网查看API 使用. 1. Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的ke ...

  8. 十分钟快速入门 Python,看完即会,不用收藏!

    本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. ...

  9. Python 30分钟快速入门指南

    学习地址 中文版:Python 30分钟入门指南 英文版:Learn X in Y minutes 学习时间 2019/03/10 19:00 - 19:32,多用了2分钟.

随机推荐

  1. python基础(二)字符串內建函数详解

    字符串 定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,''或""或''' '''中间包含的内容称之为字符串特性:1.只能存放一个值2.不可变,只能重新赋值3.按照从 ...

  2. android UI线程安全问题

    在Android的子线程去更新UI的内容,会导致不确定的异常. 因为Android有个模式是,单一线程模型:Android UI工具箱(toolkit)不是一个线程安全的,并且它总是被放在主线程上操作 ...

  3. linux java.net.UnknownHostException异常

    异常场景: 使用InetAddress.getLocalHost().getAddress(); 获取address byte数组.在windows上开发的时候,没有问题.部署到linux时报 jav ...

  4. 安卓selector

    定义styles.xml <?xml version="1.0" encoding="utf-8"?> <resources> < ...

  5. 用python实现模拟登录人人网

    用python实现模拟登录人人网 字数4068 阅读1762 评论19 喜欢46 我决定从头说起.懂的人可以快速略过前面理论看最后几张图. web基础知识 从OSI参考模型(从低到高:物理层,数据链路 ...

  6. 记录一次事故——idea,sbt,scala

    没事千万不要点idea的update啊,就算它自己弹出来的也不要管哦. 我们自己的IDE在使用过程中总会有各种settting的配置,更新之后这些都没有了,而且自己本地安装的插件也就都没有了,所以更新 ...

  7. C,C++,VC++有什么区别

    C语言是一种古老而又经久不衰的计算机程序设计语言,大约诞生于上个世纪60年代.由于它的设计有很多优点,多年以来深受广大程序设计人员的喜爱,并逐渐淘汰了很多其它程序设计语言.我们平时使用的大多数软件都是 ...

  8. @dynamic 与 @synthesize

    @synthesize是默认选项,表示为属性自动生成getter方法和setter方法 @dynamic 需要在实现文件里注明.例如 @dynamic name:表示用开发者手动动态实现getter和 ...

  9. fork() && fork() || fork()

    http://blog.csdn.net/hs794502825/article/details/10242091 #include <unistd.h> #include <std ...

  10. List与Linkedlist、Arrylist、Vector、Map应用

    1.List与LinkedList      List是数组链表     LinkedList是指针链表     选择List还是LinkedList要看你的使用特点.       数组链表访问快,复 ...