平時在工做中,偶爾會遇到老大讓你修改原來寫好的樣式,若是修改的多的話,修改起來是很是麻煩的.他不像js同樣,定義變量、函數,須要修改某些值,直接修改方法就好了。less的出現,偏偏幫咱們解決了這個問題css
在這呢,咱們簡要說明一下less:node
LESSCSS是一種動態樣式語言,屬於CSS預處理語言的一種,它使用相似CSS的語法,爲CSS的賦予了動態語言的特性,如變量、繼承、運算、函數等,更方便CSS的編寫和維護。npm
LESS能夠在多種語言、環境中使用,包括瀏覽器端、桌面客戶端、服務端。瀏覽器
在學習前,咱們須要作一下前期的工做:less
sublime text默認是不支持less語法的高亮顯示的,須要安裝less2css插件後才能高亮顯示。函數
該插件的做用:學習
1.當保存文件的時候,會自動生成一個同名的css文件(注意點:若是保存less的父文件夾爲less,那麼就會在less同級的目錄下生成一個css文件夾,而且把生成的同名css文件保存到該css文件夾中)spa
2.當保存less文件的時候提示編譯錯誤信息插件
剛剛那只是前期的第一步,第二步是須要安裝node.js,由於less須要node.js支持。下載安裝到這裏下載 https://nodejs.org/en/download/ 選擇本身電腦的版本下載安裝就能夠了。下載安裝好以後,只須要在環境中安裝less 就好code
安裝方法: 打開命令語句window+r點擊肯定輸入如下語句:
$ npm install -g less
// 全局安裝好以後,編譯less
指定的路徑:lessc less文件名 css文件名
E:\項目\blog-04-24\css> lessc style.less style.css
完成了以上工做以後,咱們終於開始要進入主題啦,下面能我就只是講講基本的使用,詳細的使用你們仍是去看官網的吧,畢竟寫起來太長了,很耗費時間呢。
變量: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/#