less 和 sass的区别

规则上相同

  • 变量
  • 嵌套规则
  • 导入
  • 混入
  • 运算
  • 注释
  • 函数 写法类似于script、也有一些指令

规则和写法上相同的地方

  1. 变量 变量也都支持块作用域,类属于js的那

    css 复制代码
    @var: red; #page { 
        @var: white; #header { 
            color: @var; // white /**/
        } 
    }
    • less的变量是使用@ ,@width
    • sass是使用 , , ,width
    css 复制代码
    @width: 10px; 
    @height: @width + 10px;
    
    #header { 
        width: @width; height: @height;
    }
  2. 嵌套规则(&,嵌套属性)

    css 复制代码
    #header { 
        color: black;
        .navigation {
            font-size: 12px; 
        } 
        .logo { 
            width: 300px; 
        } 
    }
  3. 导入

    • @import 可以是less、scss、css文件的导入
  4. 混入(将一个规则集集合混入到另一个规则集集合中)

    • Less
    css 复制代码
    .bordered { 
        border-top: dotted 1px black;
        border-bottom: solid 2px black; 
    }
    
    #menu a { 
        color: #111; 
        .bordered(); // 混入规则集及
    }
    .post a { 
        color: red; 
        .bordered();
    }
    
    /* 也可以类似于函数的方式使用*/
    .some .selector div { 
        .mixin(#008000); 
    }
    • sass 需要使用@mixin定义,然后在使用@include导入规则集
    css 复制代码
    @mixin rounded-corners {
      -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
      border-radius: 5px;
    }
    notice {
      background-color: green;
      border: 2px solid #00aa00;
      @include rounded-corners;
      /* 也可以类似于函数的方式使用*/
      @include rounded-corners(#000);
    }
  5. 运算

    • less
    css 复制代码
    @conversion-1: 5cm + 10mm; // 结果是 6cm
    • sass
    css 复制代码
    $conversion-1: 5cm + 10mm; // 结果是 6cm 
    color: #222 / 2  /* color : #111*/
  6. 函数(内置很多函数,也可以类似于混入中的函数方法来使用)

    • less (函数)
    css 复制代码
    $conversion-1: 5cm + 10mm; // 结果是 6cm 
    color: #222 / 2  /* color : #111*/
    • sass (SassScript)
    css 复制代码
    $conversion-1: 5cm + 10mm; // 结果是 6cm 
    color: #222 / 2  /* color : #111*/

规则上不相同的

  1. less

    • 转义
    css 复制代码
    @min768: ~"(min-width: 768px)";  /* ~ 是转义标志符号*/
    .element { 
        @media @min768 { 
            font-size: 1.2rem;
        } 
    }
    • 映射 maps
    css 复制代码
    #colors() { 
        primary: blue; 
        secondary: green; 
    } 
    .button { 
        color: #colors[primary]; /* = colors.primary 这样的方式 */
        border: 1px solid #colors[secondary];
    }
  2. sass

    • 继承

    • 内置控制指令

      @if @each @else @while @foreach

区别:

  1. less是支持客户端和服务端使用,而sass是支持服务端运行,目前基本上是都通过构建工具进行预处理之后,直接以css的在客户端展示。
  2. sass算是最早出现的预处理器,有更强大的社区和实践方案、使用案例更多
  3. sass内置的规则也相对比较多
相关推荐
开开心心就好4 小时前
批量提取PDF中的图片,直接导出原图
前端·javascript·支持向量机·智能手机·pdf·html·启发式算法
Setsuna_F_Seiei7 小时前
前端转型 Agent 开发 05 之 Agent Hooks 与 Checkpointer(让 Agent 从全自动转变人为可掌控)
前端·agent·ai编程
百万蹄蹄向前冲9 小时前
风扇转了一晚上MVP专家团翻车事故
前端·人工智能
默_笙9 小时前
🏛 给 AI 配一间办公室:Harness Engineering 六大模块与它的实现
前端·javascript
linux_cfan10 小时前
videojs v10 源代码系列解读:14 · 谓词守卫:在运行时安全地调用能力
前端·javascript·音视频
kyriewen10 小时前
我扒了 10,221 条 JD:腾讯技术岗 75% 在要 AI
前端·人工智能·ai编程
郑州光合科技余经理11 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
IT_陈寒12 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
Blanche150012 小时前
利用 RAG 为答疑机器人扩展知识范围
前端
天若有情67312 小时前
【纯前端小工具】公历生日转农历,批量查询每年农历生日对应的公历日期(GitHub Pages在线直接用)
前端·javascript·github pages·农历转换·lunisolar·网页小工具