编辑“less-options”的 markdown 源
包含路径
|
|
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)
url('./myfont/myfont.woff2') url('./global/myfont/myfont.woff2')
url('myfont/myfont.woff2') url('myfont/myfont.woff2')
如果您将 Less 与 CSS Modules 结合使用,这将非常有用,后者使用类似于 Node.js 的解析语义。
您可能还想考虑使用 data-uri 函数来代替此选项,该函数会将图像嵌入到 css 中。
数学
发布 v3.7.0
|
|
lessc -m=[option]
lessc --math=[option] |
{ math: '[option]' } |
Less 重新构建了数学选项,以提供介于之前的 strictMath
设置(始终需要括号)和默认设置(在所有情况下都执行数学运算)之间的中间功能。
为了减少与 CSS 的冲突,后者现在在值之间大量使用 /
符号,现在有一种数学模式,仅需要对除法使用括号。(这现在是 Less 4 中的默认设置。)“严格数学”也经过调整,以更直观地操作,尽管支持旧行为。
math
可用的四个选项是
always
(3.x 默认值) - Less 急切地进行数学运算
parens-division
(4.0 默认) - 在使用 /
运算符时,括号之外不执行除法(但可以使用 ./
运算符在括号之外“强制”除法 - ./
已弃用)
parens
| strict
- 所有数学表达式都需要括号。
strict-legacy
(在 4.0 中已删除) - 在某些情况下,如果表达式的任何部分无法求值,则不会求值数学表达式。
always 示例
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出
.math {
a: 2;
b: 1px;
c: 1px;
d: 1px;
}
parens-division
示例
.math {
a: 1 + 1;
b: 2px / 2;
c: 2px ./ 2;
d: (2px / 2);
}
输出
.math {
a: 2;
b: 2px / 2;
c: 1px;
d: 1px;
}
strict
.math {
a: 1 + 1;
b: 2px / 2;
c: (2px / 2) + (3px / 1);
}
输出
.math {
a: 1 + 1;
b: 2px / 2;
c: 1px + 3px;
}
strict-legacy
在旧版 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 开始默认值为假。目前仅用于 data-uri 函数,以确保不会创建浏览器无法处理的过大图像。
启用内联 JavaScript(已弃用)
|
|
lessc --js |
{ javascriptEnabled: true } |
从 v3.0.0 开始默认值为 False。启用在 .less
文件中内联评估 JavaScript。对于一些未预期样式表的用户输入具有可执行代码的开发者来说,这会造成安全问题。
已替换为 @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' } |
生成内联源映射。在浏览器开始支持源映射之前,这是唯一的选择。
预加载插件
参见:预加载插件
Lint
|
|
lessc --lint -l |
{ lint: true } |
运行 less 解析器,仅报告错误,无任何输出。
压缩(已弃用)
|
|
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 中指定的映射文件路径之前。
由于基本路径默认为输入 less 文件的目录,因此根路径默认为从源映射输出文件到输入 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
部分。
它默认为输入 less 文件的路径。
在源映射中包含 Less 源
|
|
lessc --source-map-include-source |
{ sourceMap: { outputSourceFiles: true } } |
此选项指定我们应将所有 Less 文件包含到源映射中。这意味着你只需要你的映射文件即可获取你的原始源。
这可以与 map inline 选项结合使用,这样你根本不需要任何其他外部文件。
源映射映射内联
|
|
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 选项未生成你完全需要的内容时的用例。