Less基础

135 阅读2分钟

less

less中的注释

以//开头的注释不会被编译到css文件中; 以/**/包裹的注释会被编译到css文件中。

less中的变量

  • 使用@来申明一个变量
  1. 作为普通属性值来使用:@pink
  2. 作为选择器和属性名时,在引用变量时需要加{}:@{height}.
  3. 作为url:@{url}.
  4. 变量的延迟加载 (就近原则).

less中的嵌套规则

  1. 基本嵌套规则
  2. &的使用(消除空格,代表平级)(& :代表的上一层选择器的名字,)

less中的混合

  • 混合就是将一系列属性从一个规则集引入到另一个规则集的方式
  1. 普通混合
  2. 不带输出的混合(将相同的样式写在一个{}里并在名字后面加(),例如居中样式,然后再调用)
    ```
    .juzhong(){
       position: absolute;
       left: 0;
       right: 0;
       top: 0;
       bottom: 0;
       margin: auto;
       background: @color;
       height: 100px;
       width: 100px;
    }
    #box {
       .juzhong
    }
    

3.带参数的混合(在()里填入变量形参,在调用时填入具体值)

```js
```
.juzhong(@w,@h,@c){
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: @color;
    height: 100px;
    width: 100px;
}
 #box {
    .juzhong(100px,100px,pink)
}

4. 带参数并且有默认值的混合 .juzhong(@w:10px,@h:10px,@c:pink) 5. 命名参数
```js ```` #box { .juzhong(@c:blank) } 6. 匹配模式

 ```js
 ```.triangle(@_){
     width:0px;
     height:0px;
     overflow:hidden
     }
     //向左的三角形,下面L可以换成R/B/T分别代表右,下,上,同时修改@c的位置。
   .triangle(L,@w,@c){
     border-width: @w;
     border-style: dashed solid dashed dashed;
     border-color: transparent @c  transparent  transparent;
   }
    #box {
        .triangle(L,40px,pink) //在调用时会主动带上属性名相同且形参以@_开头         的属性集。
      } 
  1. arguments变量

    ```.border(@1,@2,@3){
            border: @arguments;
       }
       #box{
          .border(1px,solid,black)
      }
    

less运算

在less中可以进行加减乘除的运算。

  • 加减法时 以第一个数据的单位为基准,
  • 乘除法时 注意单位一定要统一

less继承

  1. extend关键字
  2. all 全局搜索替换