美文网首页
Less的功能特性:入门

Less的功能特性:入门

作者: 雅雅的前端工作学习 | 来源:发表于2018-09-08 21:48 被阅读0次

css代码中,往往同一个值会被重复用到,而这个值需要修改时又得一个个找到再逐一修改,这样是代码维护的难度增大。而Less可以将这个值写作一个变量,当这个值需要修改时,直接修改这个变量的值就可以了(这里的变量是唯一的,只能定义一次,不可以重复使用)

 /* Less */
      @color: #999;
      @bgColor: skyblue;//不要添加引号
      @width: 50%;
      #wrap {
        color: @color;
        width: @width;
      }
    
      /* 生成后的 CSS */
      #wrap {
        color: #999;
        width: 50%;
      }

以@开头定义变量,并且使用时直接键入@名称。
上面说的是值变量,下面我们来说一说选择器变量: 让选择器变成动态:

/* Less */
      @mySelector: #wrap;
      @Wrap: wrap;
      @{mySelector}{ //变量名 必须使用大括号包裹
        color: #999;
        width: 50%;
      }
      .@{Wrap}{
        color:#ccc;
      }
      #@{Wrap}{
        color:#666;
      }
    
      /* 生成的 CSS */
      #wrap{
        color: #999;
        width: 50%;
      }
      .wrap{
        color:#ccc;
      }
      #wrap{
        color:#666;
      }

3.属性变量:可以减少代码书写量

 /* Less */
      @borderStyle: border-style;
      @Soild:solid;
      #wrap{
        @{borderStyle}: @Soild;//变量名 必须使用大括号包裹
      }
    
      /* 生成的 CSS */
      #wrap{
        border-style:solid;
      }

url 变量

项目结构改变时,修改其变量即可。

  /* Less */
  @images: "../img";//需要加引号
  body {
    background: url("@{images}/dog.png");//变量名 必须使用大括号包裹
  }

  /* 生成的 CSS */
  body {
    background: url("../img/dog.png");
  }

声明变量

有点类似于 下面的 混合方法

  - 结构: @name: { 属性: 值 ;};
  - 使用:@name();
  /* Less */
  @background: {background:red;};
  #main{
      @background();
  }
  @Rules:{
      width: 200px;
      height: 200px;
      border: solid 1px red;
  };
  #con{
    @Rules();
  }

  /* 生成的 CSS */
  #main{
    background:red;
  }
  #con{
    width: 200px;
    height: 200px;
    border: solid 1px red;
  }

变量运算

不得不提的是,Less 的变量运算完全超出我的期望,十分强大。

  • 加减法时 以第一个数据的单位为基准

  • 乘除法时 注意单位一定要统一
    /* Less */
    @width:300px;
    @color:#222;

    wrap{

    width:@width-20;
    height:@width-20*5;
    margin:(@width-20)*5;
    color:@color*2;
    background-color:@color + #111;
    

    }

    /* 生成的 CSS */

    wrap{

    width:280px;
    height:200px;
    margin:1400px;
    color:#444;
    background-color:#333;
    

    }

变量作用域

一句话理解就是:就近原则,不要跟我提闭包。

借助官网的Demo

  /* Less */
  @var: @a;
  @a: 100%;
  #wrap {
    width: @var;
    @a: 9%;
  }

  /* 生成的 CSS */
  #wrap {
    width: 9%;
  }

用变量去定义变量

  /* Less */
  @fnord:  "I am fnord.";
  @var:    "fnord";
  #wrap::after{
    content: @@var; //将@var替换为其值 content:@fnord;
  }
  /* 生成的 CSS */
  #wrap::after{
    content: "I am fnord.";
  }

相关文章

  • Less的功能特性:入门

    css代码中,往往同一个值会被重复用到,而这个值需要修改时又得一个个找到再逐一修改,这样是代码维护的难度增大。而L...

  • LESS/SASS学习记录

    LESS 参考资料:LESS官网w3cplus less入门教程 less的编译 less特性及语法 变量——V...

  • 使用less的loop(循环)方法根据类名生成元素

    less是一个功能强大的css超集,可以方便我们进行css代码的书写,less具有很多现代语言的特性,而不是简单的...

  • LESS的语法特性

    以下内容是我在学习和研究LESS时,对LESS的特性、重点和注意事项的提取、精练和总结,可以做为LESS特性的字典...

  • Less 学习笔记

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

  • less使用

    LESS 的介绍 学习网站:快速入门 | Less.js 中文文档LESS « 一种动态样式语言 Less的安装 ...

  • Sublime Text 3 LESS、SASS、SCSS高亮插

    LESS https://packagecontrol.io/packages/LESS 功能:LESS高亮插件下...

  • AVFoundation --- 01入门

    AVFoundation --- 01入门 目标 解析框架,了解相关的功能和特性。媒体相关知识 解析AVFound...

  • Less即学即用

    Less是什么? Less是一种动态样式语言,LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算...

  • less 基础语法 教程

    less入门 less笔记会随着时间进行更正 再次更新:2019/10/11 18:04 几个概念 less是什么...

网友评论

      本文标题:Less的功能特性:入门

      本文链接:https://www.haomeiwen.com/subject/wzxlgftx.html