zoukankan      html  css  js  c++  java
  • js学习总结----less的基础语法和使用

    LESS的语法基本上分为以下几个方面:变量、混合(Mixins)、嵌套规则、运算、函数、作用域等

    1、变量(和JS中的变量一样,不是使用VAR而是使用@,@还可以定义一些url地址等)

    @color:#fff;
    @url:'../img/banner';
    
    .box{
        color:@color;
        background:url("@{url}/banner1.jpg") no-repeat;
    }

    2、混合(Mixins)  通俗的讲就是把其他的样式拿过来自己使用  (如果在下述的public加一个括号变为函数,则最后编译的时候public这段样式代码会不存在)

      征用:把原来的样式克隆一份一模一样的拿过来使用,如果public加上括号,public本身就不编译了

    .public{
        width:100px;
        height:100px;
    
    }
    .box{
        .public;
    }

    还有下面的一种写法。

      公用:和原来的选择器公用一套样式,但是需要保证原来的选择器不加括号

    .box{
        &:extend(.public)
    }
    /*编译后结果*/
    .box,.public{
        width:100px;
        height:100px;
    }

    3、命名空间和作用域(每一个{}里面就是一个单独的作用域,和js一样)

    @v:1;
    .box{
        @v:10;
        &:hover{
            z-index:@v;//为10
        }
    }

    4、!important

    .public(){
        width:100px;
        height:100px;
        .link{
            width:200px;
            height:200px;
    
        }
        &:hover{
            background:#eee;
        }
    }
    .box{
        .public;/*把public及子孙元素的样式都继承过来了*/
        .public !important /*这样box下面的所有样式都会加!important*/
    }

    5、函数

    .public(@x,@y){
        @result:@x+@y;
    }
    .box{
        .public(10,20);
        z-index:@result;
    }
    /*条件*/
    .public(@x) when (@x<10) and (@x>0){
        background:red;
    }
    /*还有一些方法 iscolor isnumber...*/
    .public(@x) when (iscolor(@x)){
        background:green
    }
    
    /*Loops  递归*/
    
    .public(@n,@i:1) when (@i<=@n){
        .box-@{i}{
            & when (@i=1){
                width:100px;
            }
            & when (@i=3){
                width:100px;
            }
            & when (@i=2){
                width:200px;
            }
            & when (@i=4){
                width:200px;
            }
        }
        .public(@n,@i+1);
    }
    
    .public(@n:4);
    
    /*+(用逗号隔开) 和 +_(用空格隔开)*/
    .transform(@v:1){
        -webkit-transform+_:scale(@v)
    }
    .box{
        .transform(1.5);
    }
    .box2{
        .transform(1.5);
        -webkit-transform+_:rotate(45deg);/*相当于-webkit-transform:scale(1.5) rotate(45deg)*/
    }
    
    
    .box{
        width:100px;
        height:50px;
        &-top{
            font-size:15px
        }
    }
    .box2{
        width:100px;
        height:50px;
        .link &{
            font-size:15px 
        }
        /*上面相当于*/
        .link .box2{
            font-size:15px 
        }
    }
    
    /*导入公共样式*/
    @import (reference) "common"; /*reference 只引入文件不编译*/
  • 相关阅读:
    Python + unittest + HTMLTestRunnerCN 生成接口自动化测试报告
    python 读写操作CSV文件
    with关键字
    Django常规命令大全
    科技阅读与写作资料
    Topics in Service Computing
    学习总结100515
    【论文收集】PQDT硕博库中的搜索结果service composition
    毕业开题结束感想
    excle操作备忘
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7307585.html
Copyright © 2011-2022 走看看