編輯「less-options」的標記原始碼
包含路徑
|
|
lessc --include-path=PATH1;PATH2 |
{ paths: ['PATH1', 'PATH2'] } |
如果 @import
規則中的檔案不在該確切位置,Less 會在傳遞給此選項的位置尋找它。例如,你可以使用此選項來指定一個庫的路徑,你希望在 Less 檔案中簡單且相對地參照它。
根路徑
|
|
lessc -rp=resources/
lessc --rootpath=resources/ |
{ rootpath: 'resources/' } |
允許你將路徑新增到 CSS 中的每個產生的匯入和網址。這不會影響 Less 處理的匯入陳述式,只會影響留在輸出 CSS 中的匯入陳述式。
例如,如果 CSS 使用的所有影像都在名為 resources 的資料夾中,你可以使用此選項將其新增到網址中,然後讓該資料夾的名稱可組態。
重寫網址
|
|
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' } |
預設情況下,網址保持原樣 (off
),因此如果你匯入子目錄中的檔案,並參照圖片,css 中會輸出完全相同的網址。這個選項允許你改寫匯入檔案中的網址,以便網址始終相對於傳遞給 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('./myfont/myfont.woff2') url('./global/myfont/myfont.woff2')
url('myfont/myfont.woff2') url('myfont/myfont.woff2')
如果你將 Less 與 CSS 模組 結合使用,這可能會很有用,因為 CSS 模組使用類似於 Node.js 的解析語意。
你可能還需要考慮使用 data-uri 函數,而不是這個選項,這會將圖片嵌入到 css 中。
數學
發布 v3.7.0
|
|
lessc -m=[選項]
lessc --math=[選項] |
{ math: '[選項]' } |
Less 已重新建構數學選項,以提供介於先前的 strictMath
設定(始終需要括號)和預設值(在所有情況下執行數學運算)之間的介面功能。
為了減少與 CSS 的衝突,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
選項取代。
相對網址 (已不建議使用)
|
|
lessc -ru
lessc --relative-urls |
{ relativeUrls: true } |
已由 rewriteUrls: "all"
取代
嚴格單位
|
|
lessc -su=on
lessc --strict-units=on |
{ strictUnits: true } |
預設為關閉/false。
沒有此選項時,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。啟用在 .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 } |
Source Map 選項
這些選項大多不適用於在瀏覽器中使用 Less.js,因為您應該使用預先編譯的 Less 檔案產生 source map。
產生 Source Map
|
|
lessc --source-map |
{ sourceMap: {} } |
指示 less 產生 sourcemap。
Source Map 輸出檔案名稱
|
|
lessc --source-map=file.map |
{ sourceMap: { outputFilename: 'file.map' } } |
Source Map 根路徑
|
|
lessc --source-map-rootpath=dev-files/ |
{ sourceMap: { sourceMapRootpath: 'dev-files/' } } |
指定一個根路徑,該路徑應附加到 sourcemap 內每個 less 檔案路徑以及輸出 css 中指定的 map 檔案路徑。
由於基本路徑預設為輸入 less 檔案的目錄,因此根路徑預設為從 sourcemap 輸出檔案到輸入 less 檔案基本目錄的路徑。
例如,如果在網路伺服器上產生一個 css 檔案,但你的 less/css/map 原始檔案在不同的資料夾中,請使用此選項。因此,對於上述選項,你可能會擁有
output.css
dev-files/output.map
dev-files/main.less
Source Map 基本路徑
|
|
lessc --source-map-basepath=less-files/ |
{ sourceMap: { sourceMapBasepath: 'less-files/' } } |
這是 rootpath 選項的反義詞,它指定要從輸出路徑中移除的路徑。例如,如果您正在編譯 less-files 目錄中的檔案,但原始檔案會在您的網路伺服器中以根目錄或目前目錄的方式提供,您可以指定這項內容以移除路徑中額外的 less-files
部分。
它的預設值是輸入 less 檔案的路徑。
在來源地圖中包含 Less 來源
|
|
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 選項無法產生您真正需要時的情況。