平時在工作中,偶爾會遇到老大讓你修改原來寫好的樣式,如果修改的多的話,修改起來是非常麻煩的.他不像js一樣,定義變數、函數,需要修改某些值,直接修改方法就行了。less的出現,恰恰幫我們解決了這個問題 在這呢,我們簡要說明一下less: LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種, ...
平時在工作中,偶爾會遇到老大讓你修改原來寫好的樣式,如果修改的多的話,修改起來是非常麻煩的.他不像js一樣,定義變數、函數,需要修改某些值,直接修改方法就行了。less的出現,恰恰幫我們解決了這個問題
在這呢,我們簡要說明一下less:
LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種,它使用類似CSS的語法,為CSS的賦予了動態語言的特性,如變數、繼承、運算、函數等,更方便CSS的編寫和維護。
LESS可以在多種語言、環境中使用,包括瀏覽器端、桌面客戶端、服務端。
在學習前,我們需要做一下前期的工作:
安裝sublime text3插件:
sublime text預設是不支持less語法的高亮顯示的,需要安裝less2css插件後才能高亮顯示。
該插件的作用:
1.當保存文件的時候,會自動生成一個同名的css文件(註意點:如果保存less的父文件夾為less,那麼就會在less同級的目錄下生成一個css文件夾,並且把生成的同名css文件保存到該css文件夾中)
2.當保存less文件的時候提示編譯錯誤信息
安裝node.js
剛剛那隻是前期的第一步,第二步是需要安裝node.js,因為less需要node.js支持。下載安裝到這裡下載 https://nodejs.org/en/download/ 選擇自己電腦的版本下載安裝就可以了。下載安裝好之後,只需要在環境中安裝less 就好
安裝方法: 打開命令語句window+r點擊確定輸入以下語句:
$ npm install -g less
開始使用less
完成了以上工作之後,我們終於開始要進入主題啦,下麵能我就只是講講基本的使用,詳細的使用大家還是去看官網的吧,畢竟寫起來太長了,很耗費時間呢。
變數:less中定義變數是用@變數名:值;的方式的
@bgColor:#0094ff; @color:#fff; .demo{ background-color:@bgColor; color:@color; }
生成的css代碼:
.demo { background-color: #0094ff; color: #ffffff; }
混合式寫法:
混合可以將一個定義好的class A輕鬆的引入到另一個class B中,從而簡單實現class B繼承class A中的所有屬性。我們還可以帶參數地調用,就像使用函數一樣。
/*less*/ @bgColor:#0094ff; @color:#fff; .demo{ background-color:@bgColor; color:@color; } .header{ border:1px solid #ededed; .demo; } /*輸出的css*/ .demo { background-color: #0094ff; color: #ffffff; } .header { border: 1px solid #ededed; background-color: #0094ff; color: #ffffff; }
嵌套式寫法:
我們可以在一個選擇器中嵌套另一個選擇器來實現繼承,這樣很大程度減少了代碼量,並且代碼看起來更加的清晰。
/*less寫法*/ @bgColor:#0094ff; @color:#fff; .demo{ background-color:@bgColor; color:@color; } header{ border:1px solid #ededed; .demo; h1 { font-size: 26px; font-weight: bold; } p { font-size: 12px; a { text-decoration: none; &:hover { border-width: 1px } } } } /*輸出的css*/ .demo { background-color: #0094ff; color: #ffffff; } header { border: 1px solid #ededed; background-color: #0094ff; color: #ffffff; } header h1 { font-size: 26px; font-weight: bold; } header p { font-size: 12px; } header p a { text-decoration: none; } header p a:hover { border-width: 1px; }
函數 & 運算
運算提供了加,減,乘,除操作;我們可以做屬性值和顏色的運算,這樣就可以實現屬性值之間的複雜關係。LESS中的函數一一映射了JavaScript代碼,如果你願意的話可以操作屬性值。
/*less*/ @the-border: 1px; @base-color: #111; @red: #842210; #header { color: @base-color * 3; border-left: @the-border; border-right: @the-border * 2; } #footer { color: @base-color + #003300; border-color: desaturate(@red, 10%); } /*css部分*/ #header { color: #333333; border-left: 1px; border-right: 2px; } #footer { color: #114411; border-color: #7d2717; }
好了,我就講到這吧,詳細的大家可以去官網上看,理解起來也是非常容易的 附上官網地址: http://less.bootcss.com/#