• LESS与SASS


    LESS和Sass在语法上有些共性,比如下面这些:

    • 混入(Mixins)——class中的class;
    • 参数混入——可以传递参数的class,就像函数一样;
    • 嵌套规则——Class中嵌套class,从而减少重复的代码;
    • 运算——CSS中用上数学;
    • 颜色功能——可以编辑颜色;
    • 名字空间(namespace)——分组样式,从而可以被调用;
    • 作用域——局部修改样式;
    • JavaScript 赋值——在CSS中使用JavaScript表达式赋值。

    LESS和Sass的主要不同就是他们的实现方式,LESS是基于JavaScript,所以,是在客户端处理的。

    另一方面,Sass是基于Ruby的,然后是在服务器端处理的。

    变量

    LESS 文件  

    @border-color : #b5bcc7;           
       .mythemes tableBorder{
      border : 1px solid @border-color; 
    }

    SASS 文件

    $border-color : #1875e7;
    div {
      color : $blue;
    }

    关于变量在LESS和SASS中的区别就是,LESS用@,SASS用$。

    混入参数
    LESS 文件

       

     .layout(@w,@h,@b,@bgc){
    @w;
    height: @h;
    border: @b;
    background-color: @bgc;
    }
    header{
      .layout(1900px,150px,1px solid black,black);
    }

    SASS 文件

    @mixin layout($w,$h,$b,$bgc){
        $w;
        height:$h;
        border:$b;
        background-color:$bgc;
    }
    header{
        @include layout(1900px,150px,1px solid black,black)       
    }

    @mixin的强大之处,在于可以指定参数和缺省值。

    @mixin left($value: 10px) {
             float: left;
             margin-right: $value;
          }

    使用的时候,根据需要加入参数:     

    div {
             @include left(20px);
           }

    继承

    SASS允许一个选择器,继承另一个选择器。比如,现有class1:

    .class1 {
        border: 1px solid #ddd;
      }
    //class2要继承class1,就要使用@extend命令:
    .class2 {
        @extend .class1;
        font-size:120%;
      }

    运算

    SASS在数字上比LESS更专业。它已经可以换算单位了。SASS可以处理无法识别的度量单位并将其输出。

    /* SASS */ 
    2in + 3cm + 2pc = 3.514in
     /* LESS */ 
    2in + 3cm + 2pc = Error

    条件语句与控制

    LESS不支持该功能。使用 Sass,你可以使用if { } else { } 条件语句,以及for { }循环。它甚至支持 and、 or和 not,以及 <、 >、 <=、 >= 和 == 等操作符。

    /* Sample Sass "if" statement */
    @if lightness($color) &gt; 30% {
        background-color: #000;
    } @else {
        background-color: #fff;
    }
     
    /* Sample Sass "for" loop */
    @for $i from 1px to 10px {
        .border-#{i} {
        border: $i solid blue;
        }
    }
  • 相关阅读:
    Insertion Sort List
    Same Tree
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    ZigZag Conversion
    Reverse Integer
    String to Integer (atoi)
    Palindrome Number
    eclipse 导入tortoiseSVN检出项目,不显示svn信息(eclipse安装svn插件)
    exception ORA-00918: 未明确定义列
  • 原文地址:https://www.cnblogs.com/Outyua/p/4660044.html
Copyright © 2020-2023  润新知