一、什么是less
less是css的擴展。他擴展了變量、mixin、函數等功能,使得css代碼寫的更有效率、更爽(哈哈),本篇主要先介紹less的變量
二、less的變量
相信在寫css的時候,你總會發現,你某些屬性的值一直都是重復的,例如系統的背景顏色、logo的地址等等,
因此通過less 的變量,你可以將重復的值用一個變量保存起來,然后就直接用!!!
語法: @+變量名
例子:
@base-color:#ff0000;
.one {
background-color:@base-color;
color:#ffffff;
}
然后將其轉化為css則為:
.one {
background-color:#ff0000;
color:#ffffff;
}
呀,沒錯,就只是直接替換而已,是不是很簡單,
當然了,less變量不僅可以用來表示屬性的值,還可以用來表示選擇器、屬性名稱、URL等
首先是選擇器:
@my-select : one ;
.@{my-select} {
background-color:red;
}
//編譯后如下:
.one { background-color:red; }
實際上還是直接將變量替換成類名而已啦,只是在使用時需要注意格式為:@{變量}
屬性名稱:
@property :color
.one {
@{property}:white;
background-@{property}:red;
}
//編譯后
.one {
color:white;
background-color:red;
}
屬性名稱也是同理,同時你還會注意到,變量可以替換到屬性名稱的一部分,background-color就是這樣子啦
URL:
@url: "./styles"
.one {
background:url(@{url}/img/1.jpg)
}
//css引用
@import "@{url}/themes/font.less"
我們可以通過將路徑的地址存儲到變量中,可以直接替換掉圖片或者css引用中的路徑
在使用變量時,不僅可以存儲上述各項信息,同時也可以用來存儲變量名,是的,用變量來存儲變量名(老套娃了,哈哈)
@a : "b";
@b : #ff0000;
.one {
background-color:@@a;
}
//編譯后
.one {
background-color:#ff0000;
}
這樣子看是不是很有趣多了。
下面講述變量的特性(划起來,要考的)
變量是延遲加載的,無需提前聲明
怎么理解呢,通過例子來最好理解了
@my-width : 100px;
@a : 10px;
.one {
width:@a;
}
.one {
width:@a;
}
@my-width : 100px;
@a : 10px;
上邊兩種寫法都是可以通過,都能讀取到變量的值
接着第二個是,有關於變量的作用范圍,emm,就是在哪個括號就包括在哪里
.one {
width:@my-width;
@a:10px;
}
.two {
width:@a;//這里這里,找不到a變量
}
@my-width : 100px;
了解了變量的作用范圍后,我們來看下一個,若變量在內外都定義了呢
@my-width : 100px;
.one {
width:@my-width;
@my-width:10px;
}
//編譯后
.one {
width:10px;
}
less會從內到外去尋找變量,若里面找的到,那么就不考慮外邊了,若里面沒有,則向外找,有就替換,沒有,那就繼續往外,直至找不到
附上下一篇:less的嵌套規則
關於less的變量介紹就這么多了,本文是個人在學習中的筆記整理,那么是從哪里學的,當然是看文檔,哈哈
