淺談css3中calc在less編譯時被計算的解決辦法

對于前端er來說,Less或Sass已經(jīng)是一項必備的基本技能,有了這個利器,可以省下前端開發(fā)者的很多編碼時間,讓你寫CSS如行云流水一般,然后最近我在Less里加入calc時確發(fā)現(xiàn)了有點問題,我在Less中這么寫:
div {width : calc(100% - 30px);}
結(jié)果Less把這個當成運算式去執(zhí)行了,結(jié)果給我解析成這樣:
div {width: calc(70%);}
當時我就郁悶了,怎么會產(chǎn)生這樣的現(xiàn)象呢?后來各種查,是由于less的計算方式跟calc方法有重疊,兩者在一起有沖突,于是,我在Less中把calc的寫法改寫成下面這樣:
div {width : calc(~"100% - 30px");}
OK,解析結(jié)果正常:
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卻老是提示語法錯誤,雖然也能編譯但看著文件有一個錯誤提示心里老
感覺不爽,找半天也沒發(fā)現(xiàn)Webstorm如何調(diào)試語法提示錯誤設置
于是,改成如下寫法:
div { @diff : 30px; width : calc(~"100% - @{diff}"); }
這種寫法又能編譯,Webstorm里又不報錯,所以我比較喜歡用這種寫法,如此,便不會再有任何問題了。
PS:在這里提供一個工具網(wǎng)站,http://chabaoo.cn/tools/cssyasuo.shtml,能提供各種CSS以及其他語言的格式化,往往less編譯后的css文件的格式并不是我們所需要的,現(xiàn)在可以試一下前面我說的網(wǎng)址里面的凈化 ,哈哈,誰用誰知道!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
- calc()對大家來說,或許很陌生,不太會相信calc()是css中的部分。但它卻是就是css3的一部分,下面這篇文章主要給大家介紹了關于css3中calc函數(shù)的相關資料,文中通過示例代2018-07-10
- 本篇文章主要介紹了巧用CSS3的calc()寬度計算做響應模式布局的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-22
- 這篇文章主要介紹了CSS3 calc()會計算屬性詳解的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-27
- 這篇文章主要介紹了詳解CSS 3 的 calc() 方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-01-12
CSS3 Calc實現(xiàn)滾動條出現(xiàn)頁面不跳動問題
calc是css3的一個新功能,用來指定元素的長度,calc()最大的好處就是用在流體布局上,可以通過calc()計算得到元素的寬度。接下來腳本之家小編給大家分享CSS3 Calc實現(xiàn)滾動2017-09-14- 這篇文章主要介紹了 CSS3的calc()做響應模式布局的實現(xiàn)方法,需要的朋友可以參考下2017-09-06
CSS3 函數(shù)技巧 用css 實現(xiàn)js實現(xiàn)的事情(clac Counters Tooltip)
這篇文章主要介紹了如何使用CSS3代碼更好實現(xiàn)js中效果,clac Counters Tooltip等功能使得代碼更為簡潔明了,需要的朋友可以參考下2017-08-15- 數(shù)學表達式calc()是CSS中的函數(shù),主要用于數(shù)學運算。這篇文章給大家介紹了CSS中的數(shù)學表達式calc()的相關知識,感興趣的朋友一起看看吧2020-01-19