zoukankan      html  css  js  c++  java
  • less学习

    less——css预处理器
    引入

    <link rel="stylesheet" href="lib/honeySwitch.css">

    <link rel="stylesheet/less" href="lib/honeySwitch.less"> // css名改less
    <script src="https://cdn.bootcss.com/less.js/3.0.4/less.min.js"></script> // 引这句代码(写在head里)

    引用

    在一个less里引用另一个less
    @import "./lib/comp.less"

    编译

    编译转换:less ==> css
    编译工具--koala:http://koala-app.com/

    定义变量 @
    @colorp:pink;
    @colorb:blue;  //定义样式
    @m: margin;  //定义属性(一般不用)
    @selector: .btn   //定义选择器(一般不用)
    *   {
        @{m}: 0;    属性和选择器在写的时候要加上 {} ,而样式不用
        padding: 0;
      }
    @{selector} {
              backgroundColor:@colorp;
              border: 1px solid @colorb;
           }
    
    延迟加载,作用域
    • 作用域:一个 { } 里算一个作用域
    • 延迟加载:等作用域里的所有变量加载完,再执行其他操作
        @var:  #1111111;
            div  {
            @var:  #333333;
            color:  @var;    由于延迟加载,这里的color: #666666
            @var:  #666666
        }
         backgrundColor: @var     由于作用域的原因,这里是backgroundColor: #111111
    
    嵌套规则,&
    • less与css的区别之一就是less可以嵌套写
    • &符号是指当前元素
       .div1{
             300px;
            height: 300px;
            .div2{
                  50px;
                  height:50px;
                  backgroundColor: blue;
                  &: hover {          这里的&: hover 既  div2: hover
                   backgroundColor: red;
                  }
                  & span{
                       display:block;  
                  }
            }
      }
    
    混合 —— 以 . 开头,并且有 ( )
    
      定义混合(以 . 开头):
        .beijing(@w:10px,@h:10px,@bgc: pink){    带参混合(参数间用逗号隔开)。
                 @w;                       设定默认值10,10,pink(若不设定默认值,
                height: @h;                      下面引用时少输入一个参数, 就会报错,  
                bacjgroundColor: @bgc;           如只输入10px,purple)
          }
    
      调用:
          .div1{
              .beijing(100px,100px,blue);    所有参数均输入===100px,100px,blue
          }
          .div2{
              .beijing();   未输入参数,则直接调用默认值===10px,10px,pink
          }
          .div3{
              .beijing(@bgc: red);    指定输入参数(既命名参数),则其他未输入
          }                           的为默认值===10px,10px,red
    
    匹配模式(例子:画一个三角形)
    定义混合:
    .triangle(@_,@w,@c){      这里是公用代码。 @_ 是匹配符的意思,既在调用相同名字的代码时,
           0;            带匹配符的就算没调用也没关系,系统会默认调用。 
          height: 0;          所以:1相同名字(如这里的triangle),2匹配符,
          overflow: hidden;    3公用代码,三者组成公用样式
    }
    .triangle(T,@w,@c){          T,R,B,L===标识符(less语法之一)
        border- @w;
        border-style: solid;
        border-color: @c transparent transparent transparent
    }
    .triangle(R,@w,@c){
        border- @w;
        border-style: solid;
        border-color: transparent @c transparent transparent
    }
    .triangle(B,@w,@c){
        border- @w;
        border-style: solid;
        border-color: transparent transparent @c transparent
    }
    .triangle(L,@w,@c){
        border- @w;
        border-style: solid;
        border-color: transparent transparent transparent @c 
    }
    
    调用:
    .sanjiaoxing1{
          .triangle(R,40px,blue);
      }
    .sanjiaoxing2{
         //.triangle();   此处可以省略不调用,用上面说的@_匹配符可以解决问题
          .triangle(B,50px,purple);
      }
    
    继承

    性能比混合高,灵活度比混合低

    避免编译

    符号 ~" "
    ~" 这里是需要避免编译的代码 "

  • 相关阅读:
    转 TClientDataSet的地位
    让Delphi的DataSnap发挥最大效率
    Delphi2010强化的反射
    Delphi的内存管理及内存泄露问题
    DataSnap 传输过滤器
    delphi dataset not in edit or insert mode
    CSS中Zoom属性的一些介绍
    Linux进程分析
    MIPS处理器介绍
    Linux内存管理
  • 原文地址:https://www.cnblogs.com/huihuihero/p/10801071.html
Copyright © 2011-2022 走看看