Less 提供了CSS @import CSS
规则的几个扩展,以提供更多的灵活性来处理外部文件。css
语法: @import (keyword) "filename";
less
如下是导入指令的相关详情:code
reference
,使用较少的文件但不输出。inline
,在输出中包含源文件,但不对其进行处理。less
,不管文件扩展名为何,都将其视为less文件。css
,不管文件扩展名为何,都将其视为CSS文件。once
,仅包含一次文件(这是默认行为)。multiple
,屡次包含文件。optional
,找不到文件时继续编译。使用 @import(reference)
导入外部文件,但除非被引用,不然不将导入的样式添加到编译的输出中。ip
reference 根据所使用的方法(混合仍是扩展),会产生不一样的结果:io
mixin
:当reference样式用做隐式mixin时,它的规则将被混合,标记为 “not reference”,并照常显示在被引用的位置。extend
:扩展选择器时,仅将新选择器标记为未引用,并将其拉入引用 import 语句的位置。使用 @import (inline)
包括外部文件,但不能对其进行处理。编译
使用 @import (less)
治疗导入的文件同样都不能少,不管文件扩展名。import
@import (less) "main.css";
使用 @import (css)
治疗导入的文件做为常规CSS,不管文件扩展名,也就意味着import语句将保持原样。扩展
@import (css) "main.less"; // 输出 @import "main.less";
@import
语句的默认行为,也就意味着该文件仅导入一次,该文件的后续导入语句将被忽略。file
@import (once) "main.less"; // 此语句将被忽略 @import (once) "main.less";
使用 @import (multiple)
容许使用相同的名称导入的多个文件,这是一次相反的行为。语法
// file: main.less div { color: green; } // file: index.less @import (multiple) "main.less"; @import (multiple) "main.less"; // 输出结果 div { color: green; } div { color: green; }
用于 @import (optional)
仅在文件存在时才容许导入,若是没有optional关键字Less,则在导入找不到的文件时会引起FileError并中止编译。