less基础

2017-02-22  本文已影响11人  Alone灬旅途

less

  1. css作为一门标记性语言,语法简单,学习难度低,但CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,,造成这些困难的很大原因源于CSS是一门非程序式语言,没有变量、函数、SCOPE(作用域)等概念。

  2. LESS 包含一套自定义的语法及一个解析器,用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的 CSS 文件。

    LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。less它在CSS 的语法基础之上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本,,

  3. Less 可以运行在 Node 或浏览器端。

  0)使用less文件的思路
        使用转换程序(js文件)将less文件转换成css文件


  1) 方式1 在客户端运行less转换程序,了解

     在html中引入xx.less,同时再引入less.js,就是一个可以运行在客户端浏览器中的less编译程序 -- 效率偏低,不推荐使用

  2) 方式2 在服务端运行less转换程序-推荐
  
    
  

    1) 下载并安装一款服务器端的js解释器-nodejs

    2) 下载less文件的转换程序lessc --js脚本

    3) 在服务器端js解释器运行lessc转换器,把自己编写的.less文件转换为css文件
  
         a) 可以在命令行中使用转换程序

          node.exe lessc my.less my.css

         b) 在hbuilder中使用转换程序

    4) html文件中,引用编译得到的css文件

less语法学习

 1. less完全支持css语法

 2. lss支持单行注释和多行注释,但只有多行注释会被转换到css文件中

 3. less支持变量(variable)

  @变量名:值

  使用:选择器 {样式:@变量名}

 4. less支持样式混合-在一个样式中引用另一个样式

  .class1(){...}
  .class2{..

       ...
       .class1
       ...

  .}

 5. 带参混合

  .class()(@参数1,@参数2,。。。){....}

  .class2 {

      ...
      .class(参数1,参数2);
      ...
  }
  }

 6. 嵌套规则

  .class1{

     ...

     .class2 {


     }
  }

  转换的结果

  .class1{


  }

  .class1 .class2{


  }


 7. less可以对变量和常量进行算术运算


 8. less为样式提供了几十个应用函数

  lighten(颜色,亮度值):将制定的颜色变亮制定的百分比
  darken(颜色,亮度值):将指定的颜色变暗指定的百分比
  floor(数字) 对数值向下取整
  ceil(数字) 对数值向上取整

 9. 页面导入

 尽量避免使用css文件中的@import指令-会增加HTTP请求次数

 为了将一个样式文件拆分为多个小的样式文件,由多人同时编写,可以使用less中的@import-less中导入其他less文件,转换时会拼接一个大的完整的css样式文件,故推荐在less中导入其他less文件

 @import "xx.less"

 大型项目中less文件结构

 variable.less 放置所有的变量
 mixin.less 放置所有的混合
 reset.less 放置HTML元素重置样式
 navbar.less 导航条相关
 footer.less 页脚相关样式

 js.less -> 一大堆less文件
上一篇下一篇

猜你喜欢

热点阅读