less中的語法詳解,主要是介紹一些平時常用的語法,如果有更多更實用的語法歡迎大家和我交流。
一、變量。
變量是識別符號是@,在less中以@開頭的則是變量,關於變量名的命名方法,大家可以參考js中命名的規則,畢竟是做前端的,有着統一的習慣有助於我們統一風格。個人推薦變量名的命名規則使用駝峰命名法。第一個單詞首寫字母小寫,從第二個開始,單詞首寫字母大寫。如boxAaa,boxBbbb,boxContainer,……,當然也是可是使用香腸命名法用下划線“_”來命名。如,box_main,border_bottom,……。
二、混合。
這個模式比較常見,例如:規定的主背景色,主文字顏色等,可以事先定義好相關的顏色。在使用的時候直接調用,例如。
.border_radius(@radius:5px){
border-radius: @radius;
-webkit-border-radius:@radius;
}
.box_02{
margin-left: 50%;
width: 200px;
height:60px;
.border_radius();
background:#ccc;
}
這樣方便與后期維護。
三、匹配模式
匹配模式有助於我們更好的節省代碼和喚起記憶。
例:
.triangle(top,@w:5px,@c:#ccc){
.sanjiao_001();
border-width: @w;
border-color: transparent transparent @c transparent;
border-style: dashed dashed solid dashed;
}
.triangle(bottom,@w:5px,@c:#ccc){
.sanjiao_001();
border-width:@w;
border-color: @c transparent transparent transparent;
border-style: solid dashed dashed dashed;
}
調用的時候可以直接使用:
.sanjiao{
.triangle(bottom);
}
四、運算
在less中的運算是默認使用有單位的一方為基礎單位運算,
@w= 100px;
.bar_002{
width:@w - 30;
height:20px;
margin:0 auto;
background:#cdecde;
}
此時采用的計算單位就是px為其默認的計算單位。
在less中有一點和css3中不一樣的地方就是采用百分比的單位不能和其他單位混合使用,例:
.bar_002{
width:100% - 30px;
height:20px;
margin:0 auto;
background:#cdecde;
}
在上面的計算中編輯的時候就會報錯,不能這樣使用,推薦使用的方法是采用css原生的使用方法來使用。
.bar_002{
width:~“calc(100% - 30px)”;
height:20px;
margin:0 auto;
background:#cdecde;
}
使用“~”符號來告訴less引號里面的內容不需要編譯。
五、嵌套規則
嵌套規則其實和css中的層級選擇器一樣,沒有太多區別(層級最好控制在3層以內,這樣有助於瀏覽器的識別)。
另外還有個符號不得不說的就是“&”,此符號與相對路徑中使用的“./”具有相同的意義,是返回上一次的意思,這個對使用為元素:hover,:avtice等有着很好的選擇效果。
六、@arguments變量
當我們給變量設置很多默認值,這個時候我們又不想修改,想直接應用,那么arguments無疑是便捷的方式,使用此參數,可以直接全部使用默認變量。
例:
.bar_004(@w: 100%,@xx: solid,@c: #ccc){
border:@arguments;
}
七、使用important來提升優先級。
在我們使用important,不僅可以使用給變量也可以使用給一個類。用此來提升優先級來達到我們想要的效果。