less中的部分語法詳解


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,不僅可以使用給變量也可以使用給一個類。用此來提升優先級來達到我們想要的效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM