less的基本用法

less:css文本预处理器,它可以帮我们减少有关css中的大量重复工作。它增加了变量、函数、混合等特性,我对其中的我们经常用的做了个简单的总结,如下:

  1. 变量的基本用法如下:

    使用@符号定义一个变量,例如@head_width:300px;

    2.混合用法,如下:

    .border_01{

        width:@head_width;

    }

    /*将定义的border_02代入border_02中*/

    .border_02{

        .border_01;

    }

    3.传递参数:

    .border_03(@head_width) {

           width:@head_width;

    }

    /*可以动态的传递参数*/

    .border_04{

        .border_03(30px);

     }

    默认参数值(使用:并在后面添加上具体的数据就可以了):

    .border_05(@head_width:40px){}

    4.模式匹配(模式匹配指根据不同的参数,匹配不同类型的函数。这个有点类似于java中的重载)。例如:我们利用css定义一个三角形,这个三角形有上下左右四种形态。我们通过不同的参数来匹配不同的形态。

    .border_07(top, @color:blue) {

        width:0;

        height:0;

        overflow:hidden;

        border-style:solid;

        border-color: transparent transparent transparent @color ;

    }

 .border_07(bottom, @color:blue) {

        width:0;

        height:0;

        overflow:hidden;

        border-style:solid;

        border-color: @color transparent transparent transparent;

    }

 .border_07(left, @color:blue) {

        width:0;

        height:0;

        overflow:hidden;

        border-style:solid;

        border-color: transparent @color transparent transparent;

    }

 .border_07(right, @color:blue) {

        width:0;

        height:0;

        overflow:hidden;

        border-style:solid;

        border-color: transparent transparent @color transparent;

    }

   /*调用函数*/

 .border_08 {

    .border_07(top); //调用朝上的三角形,由于这个参数有默认值,所以不需要填写颜色参数

  }

模式匹配的时候,有部分代码是公共的,我们不必每次都在每个函数中去编写,所以,我们可以定义一个默认值:

    /*注意,使用@_表示默认值,less在编译的时候,会自动在调用匹配模式的时候添加上它。同时也不要忘记编写参数@color,这个不可省略*/

    .border_07(@_, @color:blue)

    {

         width:0;

         height:0

    };

 5.使用运算符来计算宽度高度等,以及颜色:

    .border_08(@head_width) {

        width:(@head_width - 20px) *5;

    }

6.&运算符,表示上一级选择器:

  <ul>

        <li><a href=''>测试</a></li>

  </ul>

.list{

    width: 20px;

    li{

        width:20px;

        &:hove {

            color:black;

        }

    }

}

7.避免less编译

例如:计算颜色;

width:-'calc(300px - 20px)';

calc是根据浏览器自动计算宽度的,所以,我们不能让它被编译,使用- ' '来不让他编译


这是我对less的一些简单用法的总结。如果其中有什么错误,希望大家指正。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值