• Less


    Less类似于jquery,是一个库。相当于css的jQuery.
    是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。
    在less文件中使用/**/注释的文字在导出的css文件里面会显示出来,而使用//注释的文字在导出的css文件里面不会显示出来

    变量声明

    Less 中 用 @符号声明变量,如:
    @width:100px;
    使用变量,如:
    div{
    width:@width;
    }

    less混合
    .box{
        background-color:#fff;
       .border;  /*引用border样式*/
    }
    .border{
       border:1px solid red;
    }
    带参数的混合
    .box{
        background-color:#fff;
       .border_02(5px);/*括号里必须带值*/
    }
    .border_02(@border_width){
       border:@border_width solid yellow;
    }
    默认混合(不传入参数则走默认值,传入参数则走传进来的这个值)
    .border_03(@border_10px){
      border:@border_width solid green;
    }
    .div1{
      .border_03();/*走的是默认值,即10px的边框*/
    }
    .div2{
      .border_03(15px);/*走的是传递进来的参数,即15px的边框*/
    }

    三角
    常规
    
    
    .sanjiao{
      width:0;
      height:0;
      overflow:hidden;
      border-width:10px;
      border-color: transparent transparent red transparent;
      border-style: dashed dashed solid dashed;
    /*写dashed是为了兼容ie6*/
    }
    
    
    匹配模式(类似if)
    
    .triangle(top,@w:5px,@c:#ccc){
      border-width:@w;
      border-color:transparent transparent @c transparent;
      border-style: dashed dashed solid dashed;
    }
    .triangle(bottom,@w:5px,@c:#ccc){
      border-width:@w;
      border-color:@c transparent transparent transparent;
      border-style: solid dashed dashed dashed;
    }
    .triangle(left,@w:5px,@c:#ccc){
      border-width:@w;
      border-color:transparent @c transparent transparent;
      border-style: dashed solid dashed dashed;
    }
    .triangle(right,@w:5px,@c:#ccc){
      border-width:@w;
      border-color:transparent transparent transparent @c;
      border-style: dashed dashed dashed solid;
    }
    .triangle(@_,@w:5px,@c:#ccc){
      width:0;
      height:0;
      overflow:hidden;
    }
    .sanjiao1{
      .triangle(right,10px);
    }

    //匹配模式就是先把各种情况写好,在类名后面传入参数,需要时直接调用,传入@_代表不管哪种情况都要带上这段代码。
    //传的哪个参数,用的就是哪个的样式 } 
     .pos(a){ position:absolute } 
    .pos(f){ position:fixed; }
     .box{ .pos(f); }
    Less运算
    可以进行加减乘除运算,只要有一个带像素的即可, 符号两边需要空格
    eg:
    
    
    @test_01:300px;
    .box_02{
      width:@test_01 + 20;
      height: (@test_01 - 200) * 5;
      background:#ccc - 10;
    }
    Less嵌套规则

    在父级class下 可以 嵌套class 或者标签
    但是最好别嵌套太多层,会影响加载速度。

    写:hover直接用&:hover “&代表他的上一级(父)选择器”
    eg:
    .list{
        list-style: none;
        margin:30px auto;
        padding:0px;
        width:600px;
        li{     /*相当于.list li*/
            height: 30px;
            padding:0 10px;
            background-color: pink;
            line-height: 30px;
            margin:10px;
        }
        a{
            float:left;
            &:hover{  /*& 表示上一层选择器,&符号代表的是父级的类名或者id名,即 a:hover     这里是伪类的用法,详情见Sass博客
            &_nav相当于a_nav*/
            color:red; } 
           } 
    span{ float:right; }
     }
    
    
    @arguments包含了所有传递进来的参数。
    eg:
     @border(@w:30px,@c:red,@s:solid){
       border:@w @c @s
    }
    如果你不想单独处理每一个参数的话就可以像这样写:
    .border_arg(@w:30px,@c:red,@ww:solid){
    border:@arguments;
    /*包含所有参数*/
    }
    .test_arguments{
    .border_arg(40px);     
    /*则只把@w的值改为40px,其余照搬*/
    }
     less 避免编译 
    用符号 ~   
    eg:
     ~‘calc(300px-30px)’
    ,less直接把calc(300px-30px)给到css文件,在被浏览器调用时,浏览器自己运算。
    !important 样式优先级别最高 
    可以把封装的东西放到一个单独的 less里面,只需要在main.less主文件里面 @import 加文件名 xx 可以省略后缀名. eg: @import a
    加载css需要 @import(less)'xxx.css'  @import  写在哪里  编译之后 css内容 就会出现在哪里
    
    
     
  • 相关阅读:
    SQL compute by 的使用
    C# DES加密/解密字符串
    SET NOCOUNT { ON | OFF }
    SQL Server游标的使用 转
    SQL优化的一些总结
    精确获取时间(QueryPerformanceCounter)测试程序效率
    ajax的使用原理
    jq三级导航菜单可修改为二级、四级等导航菜单
    本地搭建PHP环境
    固定在屏幕底部的层
  • 原文地址:https://www.cnblogs.com/sunmarvell/p/7482011.html
Copyright © 2020-2023  润新知