作用域

Less 中的作用域与 CSS 中的作用域非常类似。首先在同级查找变量和混合(mixins),如果找不到,则从“父”级作用域继承。
其实也就是就近原则,越靠后写的就会生效。

  1. @var: red;
  2. #page {
  3. @var: white;
  4. #header {
  5. color: @var; // 这里上一级的@var是white,所以编译后就是white
  6. }
  7. }

与 CSS 自定义属性一样,混合(mixin)和变量的定义不必在引用之前事先定义。因此,下面的 Less 代码示例和上面的代码示例是相同的:

  1. @var: red;
  2. #page {
  3. #header {
  4. color: @var; // white
  5. }
  6. @var: white; //即使写在后面,但也是最靠近的,所以生效
  7. }

导入(@import)

“导入”的工作方式和你预期的一样。你可以导入一个 .less 文件,此文件中的所有变量就可以全部使用了。如果导入的文件是 .less 扩展名,则可以将扩展名省略掉,当然你也可以导入 .css 文件,在less中使用 @import 导入其他文件

@import "library"; // library.less
@import "typo.css";