Edit the markdown source for "less-options"
包含路径
|
|
lessc --include-path=PATH1;PATH2 |
{ paths: ['PATH1', 'PATH2'] } |
如果文件@import如果规则在该确切位置不存在,Less 会在传递给此选项的位置查找该规则。例如,您可以使用此选项来指定一个库的路径,以便 Less 文件中以简单且相对的方式引用该库。
根路径
|
|
lessc -rp=resources/
lessc --rootpath=resources/ |
{ rootpath: 'resources/' } |
允许您在 CSS 中为每个生成的导入和 URL 添加路径。这不会影响 Less 已处理的导入语句,只会影响输出 CSS 中保留的导入语句。
例如,如果 css 使用的所有图像都在名为 resources 的文件夹中,则可以使用此选项将其添加到 URL 中,然后配置该文件夹的名称。
重写 URL
|
|
lessc -ru=off
lessc --rewrite-urls=off |
{ rewriteUrls: 'off' } |
lessc -ru=all
lessc --rewrite-urls=all |
{ rewriteUrls: 'all' } |
lessc -ru=local
lessc --rewrite-urls=local |
{ rewriteUrls: 'local' } |
默认情况下,URL 保持原样(off),因此,如果您在引用图像的子目录中导入文件,则 css 中将输出完全相同的 URL。此选项允许您重写导入文件中的 URL,以便 URL 始终相对于传递给 Less 的基础文件。例如
@import "global/fonts.less";
@font-face {
font-family: 'MyFont';
src: url('myfont/myfont.woff2') format('woff2');
}
未设置任何内容或rewriteUrls: 'off',编译main.less将输出:
@font-face {
font-family: 'MyFont';
src: url('myfont/myfont.woff2') format('woff2');
}
和rewriteUrls: 'all',它将输出:
@font-face {
font-family: 'MyFont';
src: url('./global/myfont/myfont.woff2') format('woff2');
}
和rewriteUrls: 'local',它只会重写明确相对的 URL(以.):
url('./myfont/myfont.woff2') url('./global/myfont/myfont.woff2')
url('myfont/myfont.woff2') url('myfont/myfont.woff2')
如果你将 Less 与CSS 模块它使用与 Node.js 类似的解析语义。
您可能还想考虑使用 data-uri 函数代替此选项,它会将图像嵌入到 css 中。
数学
发布 v3.7.0
|
|
lessc -m=[option]
lessc --math=[option] |
{ math: '[option]' } |
Less 重新构建了数学选项,以提供介于之前的strictMath设置,始终需要括号,以及默认值,在所有情况下执行数学运算。
为了减少与 CSS 的冲突,CSS 现在大量使用/值之间的符号,现在有一个数学模式仅有的除法需要括号。(这现在是 Less 4 中的默认设置。)“严格数学”也进行了调整,使其操作更加直观,尽管仍然支持旧版行为。
有四种选择math是:
always(3.x 默认)- Less 急切地进行数学运算
parens-division (4.0 默认)- 在括号外不进行除法/运算符(但可以“强制”在括号之外使用./操作员 -./已弃用)
parens|strict- 所有数学表达式都需要括号。
strict-legacy(在 4.0 中删除) - 在某些情况下,如果表达式的任何部分无法求值,则不会对数学进行求值。
总是例子:
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出:
.math {
a: 2;
b: 1px;
c: 1px;
d: 1px;
}
括号除法
例子:
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出:
.math {
a: 2;
b: 2px / 2;
c: 1px;
d: 1px;
}
严格的
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
输出:
.math {
a: 1 + 1;
b: 2px / 2;
c: 1px + 3px;
}
严格遗留
在遗产中strictMath模式下,括号外的混合表达式意味着整个括号不会被求值。(这可能不是你想要的。)
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
输出:
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
严格数学(已弃用)
这已被取代math选项。
相对 URL(已弃用)
|
|
lessc -ru
lessc --relative-urls |
{ relativeUrls: true } |
已被取代rewriteUrls: "all"
严格单位
|
|
lessc -su=on
lessc --strict-units=on |
{ strictUnits: true } |
默认为关闭/假。
如果没有这个选项,Less 在进行数学运算时会尝试猜测输出单元。例如
.class {
property: 1px * 2px;
}
在这种情况下,情况显然不对——长度乘以长度得到的是面积,但 CSS 不支持指定面积。因此,我们假设用户想要的是值,而不是长度单位,并输出2px。
在严格单位的情况下,我们假设这是计算中的一个错误并抛出一个错误。
IE8 兼容性(已弃用)
|
|
lessc --ie-compat |
{ ieCompat: true } |
从 v3.0.0 开始默认为 False。目前仅用于 data-uri 函数,以确保创建的图像不会过大,导致浏览器无法处理。
启用内联 JavaScript(已弃用)
|
|
lessc --js |
{ javascriptEnabled: true } |
从 v3.0.0 开始默认为 False。启用 JavaScript 内联评估.less文件。这给一些开发人员带来了安全问题,因为他们不希望用户输入的样式表包含可执行代码。
替换为@plugin选项。
全局变量
|
|
lessc --global-var="color1=red" |
{ globalVars: { color1: 'red' } } |
此选项定义一个可被文件引用的变量。实际上,该声明位于基础 Less 文件的顶部,这意味着它可以被使用,但如果文件中定义了此变量,则也可以被覆盖。
修改变量
|
|
lessc --modify-var="color1=red" |
{ modifyVars: { color1: 'red' } } |
与全局变量选项相反,这会将声明放在基础文件的末尾,这意味着它将覆盖 Less 文件中定义的任何内容。
URL 参数
|
|
lessc --url-args="cache726357" |
{ urlArgs: 'cache726357' } |
此选项允许您指定一个参数,用于每个 URL。例如,这可以用于缓存清除。
行号(已弃用)
|
|
lessc --line-numbers=comments
lessc --line-numbers=mediaquery
lessc --line-numbers=all |
{ dumpLineNumbers: 'comments' } |
生成内联源映射。在浏览器开始支持源映射之前,这是唯一的选项。
预加载插件
看:预加载插件
皮棉
|
|
lessc --lint -l |
{ lint: true } |
运行较少的解析器并仅报告错误而没有任何输出。
压缩(已弃用)
|
|
lessc --compress -x |
{ compress: true } |
使用 Less 内置的压缩功能进行压缩。这种方法效果还不错,但并未充分利用专用 CSS 压缩的所有技巧。一般来说,我们建议您在 Less 转换为 CSS 后,使用第三方工具来清理和压缩 CSS。
允许从不安全的 HTTPS 主机导入
|
|
lessc --insecure |
{ insecure: true } |
源映射选项
大多数这些选项不适用于在浏览器中使用 Less.js,因为您应该使用预编译的 Less 文件生成源映射。
生成源映射
|
|
lessc --source-map |
{ sourceMap: {} } |
告诉 less 生成源图。
源映射输出文件名
|
|
lessc --source-map=file.map |
{ sourceMap: { outputFilename: 'file.map' } } |
源映射根路径
|
|
lessc --source-map-rootpath=dev-files/ |
{ sourceMap: { sourceMapRootpath: 'dev-files/' } } |
指定应添加到源映射内的每个 less 文件路径以及输出 css 中指定的映射文件路径前面的根路径。
因为 basepath 默认为输入 less 文件的目录,所以 rootpath 默认为从 sourcemap 输出文件到输入 less 文件基目录的路径。
例如,如果你的 Web 服务器根目录下生成了一个 css 文件,但源文件 less/css/map 在另一个文件夹中,则可以使用此选项。因此,对于上面的选项,你可能
output.css
dev-files/output.map
dev-files/main.less
源映射基本路径
|
|
lessc --source-map-basepath=less-files/ |
{ sourceMap: { sourceMapBasepath: 'less-files/' } } |
这与 rootpath 选项相反,它指定应从输出路径中删除的路径。例如,如果您正在 less-files 目录中编译文件,但源文件将位于 Web 服务器上的根目录或当前目录中,则可以指定此选项以删除额外的less-files路径的一部分。
它默认为无输入文件的路径。
在源映射中包含较少的源
|
|
lessc --source-map-include-source |
{ sourceMap: { outputSourceFiles: true } } |
此选项指定我们应该将所有 Less 文件都包含在源映射中。这意味着您只需要映射文件即可找到原始源。
这可以与地图内联选项结合使用,这样您根本不需要任何额外的外部文件。
源地图地图内联
|
|
lessc --source-map-inline |
{ sourceMap: { sourceMapFileInline: true } } |
此选项指定映射文件应内联在输出 CSS 中。不建议在生产环境中使用此选项,但对于开发环境,它允许编译器生成单个输出文件,在支持此选项的浏览器中,该文件使用已编译的 CSS,但显示未编译的 Less 源代码。
源地图 URL
|
|
lessc --source-map-url=../my-map.json |
{ sourceMap: { sourceMapURL: '../my-map.json' } } |
允许你覆盖 CSS 中指向地图文件的 URL。这适用于 rootpath 和 basepath 选项无法准确生成所需内容的情况。