摘要:有眾多的預(yù)處理器,其中比較流行的三個(gè)是,本文就一起來體驗(yàn)編寫代碼官方文檔官網(wǎng)栗子編譯成文件編譯客戶端瀏覽器通過在源代碼中引入文件,用于實(shí)時(shí)對樣式表文件進(jìn)行編譯并不推薦注意你的樣式文件一定要在引入前先引入,并且需要
css有眾多的預(yù)處理器,其中比較流行的三個(gè)是less、sass、stylus,本文就一起來體驗(yàn)less編寫css代碼
官方文檔:http://lesscss.org/
官網(wǎng)栗子:
@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文件,用于實(shí)時(shí)對.less樣式表文件進(jìn)行編譯(并不推薦)
注意:你的less樣式文件一定要在引入less.js前先引入,并且需要設(shè)置rel屬性值為stylesheet/less
2、NodeJs
需要在全局安裝less模塊,然后借助lessc命令把less文件編譯成css文件
sudo npm install -g less lessc style.less style.css
3、Koala
推薦的是國人自主開發(fā)的實(shí)時(shí)編譯軟件Koala,不僅支持多種css預(yù)處理器,而且也可以跨平臺(tái)運(yùn)行,從而幫助web開發(fā)者更高效地進(jìn)行開發(fā)
變量是個(gè)好東西,允許我們多帶帶定義一系列通用的樣式,然后在需要的時(shí)候去調(diào)用,了解css中如何定義變量可查看張大神的小tips:了解CSS/CSS3原生變量var
@color: #999; body { background-color: @color; } h2 { color: @color; }
編譯后:
body { background-color: #999; } h2 { color: #999; }Mixin(混合)
將一個(gè)定義好的class A輕松的引入到另一個(gè)class B中,從而簡單實(shí)現(xiàn)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%; }嵌套
在一個(gè)選擇器中嵌套另一個(gè)選擇器來實(shí)現(xiàn)繼承,從而減少代碼量
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; }運(yùn)算
我們可以在less中進(jìn)行加減乘除運(yùn)算
@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; }函數(shù)
less提供了一系列的顏色運(yùn)算函數(shù)
@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; }注釋
注意:兩種注釋的區(qū)別 /* Hello Less(我依然在這里) */ .comment-show { color: black } // Hello Less(你看不到我了) .comment-hide { color: white }
編譯后:
/* Hello Less(我依然在這里) */ .comment-show { color: black; } .comment-hide { color: white; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/115438.html
摘要:接上文入門初體驗(yàn),接下來講講,有兩種文件后綴名,一種是,另一種是。 接上文less入門初體驗(yàn),接下來講講sass,sass有兩種文件后綴名,一種是.sass,另一種是.scss。前者類似于ruby的語法規(guī)則,沒有花括號,沒有分號,具有嚴(yán)格的縮進(jìn);而后者更貼近于css的語法規(guī)則,易于閱讀,更具語義性,所以本文采用.scss后綴名來編寫sass代碼 編譯 1、Ruby:sass是由Rub...
摘要:預(yù)處理器的技術(shù)現(xiàn)在已經(jīng)很成熟了,而且也出現(xiàn)了各種不同的預(yù)處理器語言,但是呢不可能一一列出,面面俱到,這篇文章呢,主要是介紹一下比較常見的預(yù)處理器語言之一之初體驗(yàn)。 CSS預(yù)處理器定義了一種新的語言,其基本思想是,用一種專門的編程語言,為CSS增加了一些編程的特性,將CSS作為目標(biāo)生成文件,然后開發(fā)者就只要使用這種語言進(jìn)行編碼工作。 簡單來說,CSS預(yù)處理器用一種專門的編程語言,進(jìn)行We...
摘要:當(dāng)初在用的時(shí)候用過來檢查語法?,F(xiàn)在用替代,而插件市場上那款插件目前不支持配置文件,有些不爽,于是研究了下其它相關(guān)插件。就在這個(gè)期間發(fā)現(xiàn),粗粗看了看,甚合我意。所有配置項(xiàng)配置項(xiàng)說明配置項(xiàng)說明提示請使用花括號來包圍聲明。 當(dāng)初在用sublime的時(shí)候用過csslint來檢查css語法?,F(xiàn)在用vscode替代sublime,而vscode插件市場上那款csslint插件目前不支持配置文件,有...
閱讀 5156·2023-04-25 19:30
閱讀 2180·2023-04-25 15:09
閱讀 2631·2021-11-16 11:45
閱讀 2189·2021-11-15 18:07
閱讀 1470·2021-11-11 17:22
閱讀 2129·2021-11-04 16:06
閱讀 3586·2021-10-20 13:47
閱讀 3048·2021-09-22 16:03