less入門(mén)

Less 是 CSS 的一種形式的擴(kuò)展,在現(xiàn)有的 CSS 語(yǔ)法上,添加了很多額外的功能,學(xué)習(xí)Less可以大大提高效率!

1.變量
Less的一個(gè)主要功能是讓你可以像在js中一樣聲明變量,你可以將公用的值存儲(chǔ)在變量中(請(qǐng)注意Less中的變量為常量,只能定義一次)

@backgorud:#fff;
@font-color:#000;

div{
  background:@backgorud;
  color:font-color;
}

解析如下所示

div{
   background:#fff;
   colo:#000;
}

2.混入
在Less中我們可以定義通用的樣式為一個(gè)class或者id集合,然后在其它的地方去調(diào)用它們

.header{
  font-size:16px;
  color:#fff;
}
#footer{
  background:red;
  display:flex
}
.context{
  height:100px;
  .header
  #footer
}

解析如下所示

.header{
  font-size:16px;
  color:#fff;
}
#footer{
  background:red;
  display:flex
}
.context{
  height:100px;
  font-size:16px;
  color:#fff;
  background:red;
  display:flex
}

3.帶參數(shù)混合

.item(@size:20px){
  height:@size;
  width:@size;
}
.list-one{
  .item
}
.list-two{
  .item(100px)
}

解析如下所示

.list-one{
  height:20px;
  width:20px;
}
.list-two{
  height:100px;
  width:100px;
}

與js中一樣,函數(shù)中也存在arguments,用@arguments表示,表示參數(shù)集合

.box-shadow(@x: 0, @y: 0, @blur: 1px, @color: #000){
  box-shadow: @arguments;
}
.box-shadow(10px, 15px);

解析如下所示

box-shadow: 10px 15px 1px #000;

4.模式匹配和導(dǎo)引表達(dá)式

.set-attribute(height,@size){
  height:@size;
}
.set-attribute(width,@size){
  width:@size;
}
.set-attribute(@_,@size){
  background:red;
}

運(yùn)行

@switch:height;
.div1{
  .set-attribute(height,100px);
}

解析如下所示

.div{
  height:100px;
  background:red;
 }

只有被匹配的混合才會(huì)被使用。變量可以匹配任意的傳入值,而變量以外的固定值就僅僅匹配與其相等的傳入值。

也可以進(jìn)行多個(gè)參數(shù)的匹配

.set-attribute(@color){
  color:@color;
}
.set-attribute(@color,@size){
  height:@size;
  color:@color;
}

5.嵌套

#header {
  color: black;

  .navigation {
    font-size: 12px;
  }
  .logo {
    width: 300px;
    &:hover { text-decoration: none }
  }
}

解析如下所示

#header { color: black; }
#header .navigation {
  font-size: 12px;
}
#header .logo { 
  width: 300px; 
}
#header .logo:hover {
  text-decoration: none;
}

注意 & 符號(hào)的使用—如果你想寫(xiě)串聯(lián)選擇器,而不是寫(xiě)后代選擇器,就可以用到&了. 這點(diǎn)對(duì)偽類(lèi)尤其有用如 :hover 和 :focus.

.bordered {
  &.float {
    float: left; 
  }
  .top {
    margin: 5px; 
  }
}

輸出

.bordered.float { //串聯(lián)選擇器,作用在同一個(gè)元素
  float: left;  
}
.bordered .top {// 后代選擇器 ,
  margin: 5px;
}

6.運(yùn)算
Less可以進(jìn)行運(yùn)算,并且可以區(qū)分單位

@size:5px;
div{
  width:@size + 1;
  height:(@size * 2) +1;
}
//輸出
div{
  width:6px;
  height:11px;
}

更多Less特性請(qǐng)參閱 官方文檔

?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1. 什么是less? Less 是一門(mén) CSS 預(yù)處理語(yǔ)言,它擴(kuò)展了 CSS 語(yǔ)言,增加了變量、Mixin、函數(shù)...
    GarenWang閱讀 974評(píng)論 0 2
  • less 是什么? Less 是一門(mén) CSS 預(yù)處理語(yǔ)言,它擴(kuò)展了 CSS 語(yǔ)言,增加了變量、Mixin、函數(shù)等特...
    小楓學(xué)幽默閱讀 1,153評(píng)論 0 8
  • 在這之前,補(bǔ)下一個(gè)東西,就是在上篇的筆記當(dāng)中有關(guān)于favicon的東西還沒(méi)有測(cè)試 我在自己的電腦的goole、op...
    南藍(lán)NL閱讀 728評(píng)論 0 1
  • LESS 總體而言,想象成JS的JQ就行 1.less的注釋 /*text*/ 該注釋能夠編譯到css文件中 //...
    車(chē)仔面閱讀 474評(píng)論 0 0
  • 我承認(rèn),我很容易幸福,很容易滿(mǎn)足,很容易在某個(gè)時(shí)期對(duì)某些人某些事產(chǎn)生某些幻想,也很容易過(guò)了某個(gè)時(shí)期就絕情。但是我只...
    目分青見(jiàn)閱讀 202評(píng)論 0 0

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