」中加入less程式碼即可。"/> 」中加入less程式碼即可。">

首頁  >  文章  >  web前端  >  vue.js怎麼用less?

vue.js怎麼用less?

青灯夜游
青灯夜游原創
2020-11-26 13:39:473193瀏覽

vue.js怎麼用less?

本教學操作環境:windows7系統、vue2.9版,此方法適用於所有品牌電腦。

vue使用less

#依賴下載

1、先使用npm下載依賴;

npm install --save less less-loader

2、安裝完成後檢查是否安裝成功;

lessc -v

3、如果安裝成功後,會顯示安裝成功後的版本;

引用方法

1、在main.js

import less from 'less'
Vue.use(less)

2、然後建立一個.vue檔案我們開始玩了;

注意:獨立的vue檔案需要引入less

<style lang="less"></style>

開始使用

1、less中變數的使用;

在less,允許我們使用以變數的形式來定義,定義方式:@k:v; 使用方式:@k;

<p class="box"></p>

<style lang="less">
@color:red;
@k:100px;
.box{
width:@k;
height:@k;
background: @color;
}
</style>

此時會有一個寬100px,高100px,背景紅色的正方形顯示在頁面上了;

2、字串拼接變數使用方式;

<p class="box1"></p>

<style lang="less" scoped>
@img:&#39;./img/&#39;;
@k:100px;
.box1{
    width:@k;
    height:@k;
    background:url("@{img}1.png")
}
</style>

注意:路徑需要用""包裹,@{img}這種凡是把變數引進來才能生效;

3、多層巢狀變數計算;

<p class="box1">
    <p class="box2">
        <p class="box3"></p>
    </p>
</p>

<style lang="less">
@k:100px;
 .box1{
     width: @k;
     height:@k;
     background: red;
     .box2{
         width: @k/2;
         height:@k/2;
         background: green;
         .box3{
             width: @k/3;
             height:@k/3;
             background: blue;
         }
     }
 }
</style>

 可以看到,less可以巢狀使用,讓我們一次就可以看清楚css結構;除了巢狀使用,有沒有發現他的計算才是真正強大的地方呢?

 

 4、混合 = 函數

<p class="box1">我是box1</p>
<p class="box2">我是box2</p>

<style lang="less">
//定义一个函数;
.test(@color:red,@size:14px){
    background: @color;
    font-size:@size;
}
.box1{
//  不传参,使用默认的;
    .test()
}
.box2{
//  给函数传参;
    .test(@color:green,@size:30px)
}
</style>

  

 5、符合模式

<p class="box"></p>
//定义的css
<style lang="less">
.sjx(@_,@color,@size){
    width: 0;
    height:0;
    border:@size solid @color;
    border-color:transparent;
}
//左边三角形
.sjx(l,@color,@size){
    border-left-color:@color;
}
//上边三角形
.sjx(t,@color,@size){
    border-top-color:@color;
}
//右边三角形
.sjx(r,@color,@size){
    border-right-color:@color;
}
//左边三角形
.sjx(b,@color,@size){
    border-bottom-color:@color;
}
//这里匹配调用
.box{
    .sjx(r,red,20px)
}
</style>

  box匹配的是t(top),也就是上

 box符合b(buttom),就是下;

##總結一下匹配模式就好比是js中的switch語句,輸入的是什麼就顯示什麼;不過感覺麼啥用;

7、顏色函數

<p>默认红色</p>
<p>默认绿色</p>
<ul>
    <li <li v-for="i in 6">测试</li> 
</ul>
<span>混合</span>

<style lang="less" scoped>
    *{
        padding: 0;
        margin: 0;
    }
    @color:red;
    @color1:green;
    p:nth-child(1){
        background: @color;
    };
     p:nth-child(2){
        background: @color1;
    };
    ul{
        list-style: none;
            li:nth-child(1){
            background:lighten(@color,50%);
        }
            li:nth-child(2){
            background:darken(@color,50%);
        }
            li:nth-child(3){
            background:saturate(@color,50%);
        }
            li:nth-child(4){
            background:desaturate(@color,50%);
        }
            li:nth-child(5){
            background:spin(@color,50%);
        }
            li:nth-child(6){
            background:spin(@color,50%);
        }
    }
    span{
        background: mix(@color,@color1);
    }
</style>

  

#8、運算子

可以對高度、寬度、角度進行計算;

<ul>
    <li v-for="item in 4">{{item}}</li>
</ul>
<style lang="less" scoped>
  @k:10px;
    ul{
        list-style: none;
           li{
               border:1px solid ;
               margin:10px 0 ;
           }
            li:nth-child(1){
                width: @k + @k;
                height:@k;
            }
            li:nth-child(2){
                width: @k -5px;
                height:@k;
            }
            li:nth-child(3){
                width: @k * @k;
                height:@k;
            }
            li:nth-child(4){
                width: @k / 2;;
                height:@k;
            }
    }
</style>

  

更多程式相關知識,請造訪:

程式設計課程! !

以上是vue.js怎麼用less?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn