less---基本语法


最近在用 less 开发项目,好多 less 的语法已经忘了,平时都习惯用 sass,这次这个项目要用,就重新梳理一下less的基本语法。

安装 less 编译器

npm install -g less

基础用法:

1、变量:less 可以像 js 一样声明变量。

@width: 10px;
header{width: @width;}

选择器中使用变量

@header:header;
.@{header}{width: 10px;}

URL中使用变量:

@images:"../images";
header{background:url("@{images}/img.jpg");}

2、作用域

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

3、外部 less

@import "lib.less";
@import "lib";

4、嵌套:简写css选择器

.header{
   color: red;
    .logo{
        color: white;
    }
}

5、父级选择器

a {
    color:blue;
    &:hover{ color: green; } // 同 a:hover
    & + &{ color: white; } // a + a
    &-children{ color: black; } // a-children
}

6、命名空间

.bundle {
    mixin(){}
}
//调用
.bundle>mixin()

7、继承

.inline{ width:100px; }
nav ul {
  &:extend(.inline);
  color:white;
}

8、合并

// 逗号合并(使用+)
.myfunc() {
  box-shadow+: 5px 5px 5px grey;
}
.class {
  .myfunc();
  box-shadow+: 0 0 5px #f78181;
}
// 结果box-shadow: 5px 5px 5px grey, 0 0 5px #f78181;

9、循环

.cont(@count) when (@count > 0) {
  .cont((@count - 1));
  width: (25px * @count);
}
div {
  .cont(7);
}

10、函数

.b(){display: block;}
.o(){overflow: hidden;}
.main{
  .b();
  .o();
}

打完收工!