摘要:有眾多的預處理器,其中比較流行的三個是,本文就一起來體驗編寫代碼官方文檔官網栗子編譯成文件編譯客戶端瀏覽器通過在源代碼中引入文件,用于實時對樣式表文件進行編譯并不推薦注意你的樣式文件一定要在引入前先引入,并且需要
css有眾多的預處理器,其中比較流行的三個是less、sass、stylus,本文就一起來體驗less編寫css代碼
官方文檔:http://lesscss.org/
官網栗子:
@base: #f938ab; .box-shadow(@style, @c) when (iscolor(@c)) { -webkit-box-shadow: @style @c; box-shadow: @style @c; } .box-shadow(@style, @alpha: 50%) when (isnumber(@alpha)) { .box-shadow(@style, rgba(0, 0, 0, @alpha)); } .box { color: saturate(@base, 5%); border-color: lighten(@base, 30%); div { .box-shadow(0 0 5px, 30%) } }
編譯成css文件:
.box { color: #fe33ac; border-color: #fdcdea; } .box div { -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }編譯
1、客戶端(瀏覽器)
通過在源代碼中引入less.js文件,用于實時對.less樣式表文件進行編譯(并不推薦)
注意:你的less樣式文件一定要在引入less.js前先引入,并且需要設置rel屬性值為stylesheet/less
2、NodeJs
需要在全局安裝less模塊,然后借助lessc命令把less文件編譯成css文件
sudo npm install -g less lessc style.less style.css
3、Koala
推薦的是國人自主開發的實時編譯軟件Koala,不僅支持多種css預處理器,而且也可以跨平臺運行,從而幫助web開發者更高效地進行開發
變量是個好東西,允許我們多帶帶定義一系列通用的樣式,然后在需要的時候去調用,了解css中如何定義變量可查看張大神的小tips:了解CSS/CSS3原生變量var
@color: #999; body { background-color: @color; } h2 { color: @color; }
編譯后:
body { background-color: #999; } h2 { color: #999; }Mixin(混合)
將一個定義好的class A輕松的引入到另一個class B中,從而簡單實現class B繼承class A中的所有樣式
.br (@radius: 5px) { -webkit-border-radius: @radius; -moz-border-radius: @radius; border-radius: @radius; } #logo { .br; } #avatar { .br(50%); }
編譯后:
#logo { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } #avatar { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }嵌套
在一個選擇器中嵌套另一個選擇器來實現繼承,從而減少代碼量
ul{ background-color: #666; padding: 10px; list-style: none; li{ background-color: #fff; border-radius: 5px; margin: 10px 0; } a{ text-decoration:none; &:hover{ color:red; } } }
編譯后:
ul { background-color: #666; padding: 10px; list-style: none; } ul li { background-color: #fff; border-radius: 5px; margin: 10px 0; } ul a { text-decoration: none; } ul a:hover { color: red; }運算
我們可以在less中進行加減乘除運算
@bdw: 5px; @bgc: #333; @tc: #030405; body{ border-width: @bdw + 10; background-color: @bgc * 2; color: @tc + #336699; }
編譯后:
body { border-width: 15px; background-color: #666666; color: #366a9e; }函數
less提供了一系列的顏色運算函數
@c1: #369; @c2: #963; .test1{ background-color:lighten(@c1,10%); color:darken(@c1,10%); } .test2{ background-color:saturate(@c1,10%); color:desaturate(@c1,10%); } .test2{ background-color:fadein(@c1,10%); color:fadeout(@c1,10%); border-color:fade(@c1,50%); } .test4{ background-color:spin(@c1,10); color:spin(@c1,-10); border-color:mix(@c1,@c2); }
編譯后:
.test1 { background-color: #407fbf; color: #264c73; } .test2 { background-color: #2966a3; color: #3d668f; } .test2 { background-color: #336699; color: rgba(51, 102, 153, 0.9); border-color: rgba(51, 102, 153, 0.5); } .test4 { background-color: #335599; color: #337799; border-color: #666666; }注釋
注意:兩種注釋的區別 /* Hello Less(我依然在這里) */ .comment-show { color: black } // Hello Less(你看不到我了) .comment-hide { color: white }
編譯后:
/* Hello Less(我依然在這里) */ .comment-show { color: black; } .comment-hide { color: white; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115438.html
摘要:預處理器的技術現在已經很成熟了,而且也出現了各種不同的預處理器語言,但是呢不可能一一列出,面面俱到,這篇文章呢,主要是介紹一下比較常見的預處理器語言之一之初體驗。 CSS預處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言,為CSS增加了一些編程的特性,將CSS作為目標生成文件,然后開發者就只要使用這種語言進行編碼工作。 簡單來說,CSS預處理器用一種專門的編程語言,進行We...
摘要:當初在用的時候用過來檢查語法。現在用替代,而插件市場上那款插件目前不支持配置文件,有些不爽,于是研究了下其它相關插件。就在這個期間發現,粗粗看了看,甚合我意。所有配置項配置項說明配置項說明提示請使用花括號來包圍聲明。 當初在用sublime的時候用過csslint來檢查css語法。現在用vscode替代sublime,而vscode插件市場上那款csslint插件目前不支持配置文件,有...
閱讀 5121·2023-04-25 19:30
閱讀 2178·2023-04-25 15:09
閱讀 2625·2021-11-16 11:45
閱讀 2181·2021-11-15 18:07
閱讀 1464·2021-11-11 17:22
閱讀 2125·2021-11-04 16:06
閱讀 3583·2021-10-20 13:47
閱讀 3043·2021-09-22 16:03