• 理解 Less 与 Sass

    • Less 与 Sass 都是css的拓展语言
    • less 和 sass 最次要的区别是less是通过Javascript编译,而sass是通过ruby编译的
    • 如果没有引入前端工程化,less会耗费客户端性能,sass会耗费服务端性能
    • 引入前端工程化的话,gunt,gulp,webpack等,less和sass在打包阶段都会转化成css,所以不会有区别,只是sass是基于ruby,所以每次npm的时候绝对慢一点点
  • Less 与 Sass 之间的区别

    LessSass
    变量定义@变量名:值$变量名:值
    变量应用属性:@变量名属性:$变量名
    插值应用@变量名:属性名
    @{变量名}:属性值
    选择器@{变量名}{}
    $变量名:属性名
    #变量名:属性值
    选择器#{变量名}{}
    作用域就近准则应用
    可先应用,后定义
    就近准则
    必须先定义后应用
    嵌套应用后辈选择器(两个都反对):
    选择器1{
        选择器2{
            选择器3{}
        }
    }
    伪类选择器(两个都反对):
    选择器1{
        选择器2{
            选择器3&:hover{}
        }
    }
    款式嵌套(Sass反对):
    font:{size:16px;
             weight:500
    }
    运算符+ - * /Sass ‘/’ 默认为分隔符
    本义转为分隔符:~”20px/1.5“转为除号:(20px/1.5)
    函数四舍五入:round
    百分比:percentage
    随机数(Less不反对):randm
    自定义函数(两个都反对)@function 函数名(参数){
        @return 返回值
    }
    混入定义:
    .hide(@参数)
    应用:
    .hide(参数)
    定义:
    mixin show(参数){}
    应用:
    选择器(@inculude show;)
    命名空间定义:
    #name(参数){}
    应用:
    #nm.show;
    Sass不反对
    继承被继承:
    选择器{}
    应用继承:
    &extend(选择器)
    被继承:
    %选择器{}
    应用继承:
    @extend(%选择器)
    合并逗号合并:款式名+:值
    空格合并:款式名+_:值
    须要合并内容
    $款式名{a:\_\_,b:__}
    逗号合并:
    map-value($款式名)
    空格合并:
    zip(map-value($款式名)...)
    媒体查问与CSS文件写法雷同
    条件when关键字@if @else @else if
    循环递归思维@for()
    引入文件(两个都反对)@import: '文件门路'