轉載 Less的好處不用說大家都知道,確實讓寫
CSS的人不在痛苦了,最近我在Less里加入calc時確發現了有點問題,我在Less中這么寫:
div {
width : calc(
100% - 30px);
}
結果Less把這個當成運算式去執行了,結果給我解析成這樣:
div {
width: calc(70%);
}
於是,我把Less改寫成這樣:
div {
width : calc(~"
100% - 30px");
}
解析結果正常:
div {
width: calc(
100% - 30px);
}
然而,把30px替換為一個變量,怎么寫呢?
div {
@diff : 30px;
width : calc(~"100% - " + @diff);
}
這么寫Webstorm沒有報錯,但grunt-less報錯了:
C:\Users\zhong\WebstormProjects\test>grunt less
Running "less:development" (less) task
>> ParseError: Unrecognised input in style.less on line 4, column 2:
>> 3 @diff : 30px;
>> 4 width : calc(~"100% - " + @diff);
>> 5 }
Warning: Error compiling style.less Use --force to continue.
Aborted due to warnings.
於是這么寫:
div {
@diff : 30px;
width : calc(~"100% - " @diff);
}
順利編譯過去,但Webstorm卻老是提示語法錯誤,雖然也能編譯但看着文件有一個錯誤提示心里老感覺不爽,找半天也沒發現Webstorm如何調試語法提示錯誤設置
於是,改成如下寫法:
div {
@diff : 30px;
width : calc(~"100% - @{diff}");
}
這種寫法又能編譯,Webstorm里又不報錯,所以我比較喜歡用這種寫法。
支持一下(2)