5分钟快速入门

下面给大家讲解下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: 0; } 
   } 


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

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

    ...

原文地址:https://www.cnblogs.com/hwgq2005/p/4478471.html