less基本用法

什么是LESSCSS

LESCSS是一種動(dòng)態(tài)樣式語言,屬于CSS預(yù)處理語言的一種,它使用類似CSS的語法,為CSS賦予了動(dòng)態(tài)語言的特性,如變量、繼承、運(yùn)算、函數(shù)等,也就是說,我們按照less的標(biāo)準(zhǔn)來寫代碼,最后編譯成css的代碼,更方便CSS的編寫和維護(hù)。

LESS的基本語法

注釋

//我是注釋,而且不會(huì)被編譯
/我是注釋而且要被編譯/
eg:

@charset "utf-8";
body{
    /*把背景設(shè)置為red色(這句話在css文件里有)*/
    background-color:red; //把背景設(shè)置為red色(這句話在css文件里沒有)
}
## 變量
申明變量用@然后取上變量的名字冒號(hào)后跟變量值,使用的時(shí)候@和變量名一起用。
- less代碼:

@charset "utf-8"
@suiBianQuMing:200px;
.div {
width:@suiBianQuMing;
height:@suiBianQuMing;
background-color:red;
}

- 輸出的css代碼:

@charset "utf-8"
.div {
width:200px;
height:200px;
background-color:red;
}

## 混合
- 不帶參數(shù):

.div1 {
width:200px;
height:200px;
backgorund-color;red;
}
.div2 {
border:1px solid red;
.div1
}

- 帶參數(shù),不帶默認(rèn)值:

.div1(@w) {
border:solid red @w;
}
.div2 {
widthz;200px;
height:200px;
.div2(30px);
}

- 帶參數(shù),帶默認(rèn)值:

.div1(@w:3px) {
norder:solid red @w'
}
.div2 {
widthz;200px;
height:200px;
.div2(); //不傳參(但是得有小括號(hào)),默認(rèn)就是3px,傳參就是新值
}

## 匹配模式
- 1

.mydiv(one, @w:200px, @h:200px) {
width: @w;
height: @h;
border:1px solid red;
}
.mydiv(two, @w:200px, @h:200px) {
width:@w;
height: @h;
border: 2px solid blue;
}
.mydiv(three, @w:200px, @h:200px) {
width:@w;
height: @h;
border:3px solid pink;
}
.div2 {
background-color: green;
.div(two) //匹配第二種,后面兩個(gè)參數(shù)選擇默認(rèn)值
}

- 匹配必帶參項(xiàng)
1. 必帶項(xiàng)的名字取為@_
2. 其他匹配后面的參數(shù)也得加上

.mypos(r, @w:200px, @h:200px) {
width:@w;
height:@h;
position:relative;
}
.mypos(f, @w:200px, @h:200px) {
width:@w;
height:@h;
position:fixed;
}
.mypos(@_, @w:200px,@h:200px) { //匹配必帶項(xiàng)
background-color: green;
}
.div2 {
.mypos(r) // 匹配第一種,后面的兩個(gè)參數(shù)選默認(rèn)值,并且還帶上了匹配必帶項(xiàng) 注:如果匹配到了不存在了,比如參數(shù)不是r是s,這時(shí)候只會(huì)有必帶項(xiàng)的代碼翻譯
}

## 運(yùn)算
- 加減乘除

@testz:10px;
.div {
width:@test + 10 ; //變量有單位,運(yùn)算時(shí)新數(shù)據(jù)不用帶單位
color:#f011 + 10; // 顏色也可以運(yùn)算,先把顏色按照16進(jìn)制的算法做加法在變成對(duì)應(yīng)的顏色,但是顏色的運(yùn)算很少
}

## 嵌套

<ul class = "ul1">
<li><a href=”#”>測(cè)試</a><span>10:30</span></li>
<li><a href=”#”>測(cè)試</a><span>10:31</span></li>
<li><a href=”#”>測(cè)試</a><span>10:32</span></li>
<li><a href=”#”>測(cè)試</a><span>10:33</span></li>
</ul>

對(duì)于嵌套標(biāo)簽,以前寫css時(shí)總是這樣表達(dá):

<style>
.ul1{}
.ul1 li{}
.ul1 a{}
.ul1 span{}
</style>

- less的嵌套這樣寫(a寫在li里面還是.ui1里面? 看生成的css的代碼有什么不同)

.ul1 {
xxxx
li {
xxxx
a {
xxxx
}
}
}

- & 
&代表嵌套的上一級(jí)選擇器
css hover 寫法:

a{}
a:hover{}

less 寫法:

a{
&:hover {} //這里&代表它的上一級(jí)就是a
}

## arguments 

.div (@w:1px, @c:red, @s:solid) {
border: @w @c @s;
}
.div1 {
.div(2px)
}

用 arguments 效果一樣 

.div(@w:1px, @c:red, @s:solid) {
border:@arguments;
}
.div1 {
.div(2px)
}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • (一) “你需要的是一個(gè)懂你的人?!?“為什么?我就那么不容易被別人懂嗎?” “我說的是懂你。你沒那么難被別人懂,...
    墨心一筆閱讀 336評(píng)論 0 0
  • 都說吃在廣州,然而在老家卻有這么一首山歌:“亥更呢被凌,后能針國(guó)艾,孩臘踏過街,”(壯語歌)大意是:想吃好嫁泗州,...
    塵緣1227閱讀 272評(píng)論 0 0
  • 概述 目前項(xiàng)目當(dāng)中經(jīng)常會(huì)用到eventbus 來發(fā)送消息,所以抽時(shí)間閱讀了一下eventbus的源碼,也在網(wǎng)上看了...
    JeremyDai閱讀 417評(píng)論 0 0
  • 調(diào)用invalidate方法,最終會(huì)調(diào)用自己的onDraw方法進(jìn)行重繪 調(diào)用invalidate會(huì)調(diào)用view的i...
    Seven鑫洋閱讀 456評(píng)論 0 2

友情鏈接更多精彩內(nèi)容