下面給你們講解下Less,純手工,入門級別,相信沒學過的人閱讀完後就懂了,如下是我要講的四點:css
Less CSS 是一個使用普遍的 CSS 預處理器。node
對 CSS 進行擴展,減小不少 CSS 的代碼量。web
LESS 將 CSS 賦予了動態語言的特性,如 變量, 繼承, 運算, 函數.npm
LESS 既能夠在 客戶端 上運行 (支持IE 6+, Webkit, Firefox),也可一在服務端運行 (藉助 Node.js).服務器
在服務器端最容易的安裝方式就是經過 npm (node.js 的包管理器),方法以下:less
$ npm install -g less
安裝 Less 後,就能夠在命令行上調用 Less 編譯器了,以下:函數
$ lessc gloal.less
你能夠將輸出重定向到一個文件:spa
$ lessc gloal.less > gloal.css
1.變量.net
@color: #4d926f; #header { color: @color; } #header { color: #4d926f; } @color: #253636; @color: #ff3636; //覆蓋第一次的定義 #header {color: @color;} //屢次反覆解析 #header {color: #ff3636;}
2.Mixins——混入, 相似函數或宏命令行
.borderRadius(@radius:3px){ -moz-border-radius: @radius; -webkit-border-radius: @radius; border-radius: @radius; } #header { .borderRadius(10px); } .btn { .borderRadius}
編譯後:
#header { -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px; } .btn { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
Mixins注意事項:
a.能夠不使用參數 .wrap(){…} .pre{ .wrap }
b.內置變量@arguments表明全部參數(運行時)的值 .boxShadow(@x:0,@y:0,@blur:1px,@color:#000){ box-shadow: @arguments; } 注意,在參數沒有默認值的前提下使用@arguments調用時必須賦值,不然會致使整個頁面內的less語法出錯而失效。
c. Mixins必須使用ID或者類,即#xx或.xx,不然無效。
3.嵌套
#header { &.fl{ float: left; } .mln { margin-left: 0; } } #header.fl{float: left;} #header .mln {margin-left: 0;}
4.運算&函數
@init: #111111; @transition: @init*2; .switchColor { color: @transition; } .switchColor { color: #222222; } .lightColor{ lighten(@color, 10%); }
運算主要是針對任何數字、顏色、變量的操做,支持加、減、乘、除、()或者更復雜的綜合運算;而Functions主要是針對顏色,同時提供了部分數學函數,具體的API可參閱文檔。
5.繼承
.animal { background-color: black; color: white;} .bear { &:extend(.animal); background-color: brown;}
當前還有其餘繼承的寫法,我這只是寫了其中的一種,詳細可在官網上查看文檔。
6.做用域
@var: red; #page { @var: white; #header { color: @var; // white } } #footer { color: @var; // red }
Less中的變量、Mixins等的做用域都只是當前文件!
7.註釋
單行註釋方式: //單行註釋
單行、多行註釋: /* 註釋 多行註釋 */
官網:lesscss.org
中文社區:www.lesscss.net
在線LESS編譯:http://tool.oschina.net/less
...