sass、scss、less、的区别

sass、scss、less都是css预处理器,区别如下:

1语法格式:

sass采用缩进格式,不使用大括号和分号

css 复制代码
$color: #333
body
 background-color: $color;
 font-size: 14px;
 h1:
    color: $color

scss与css语法相似,使用大括号和分号

css 复制代码
$color: #333;

body {
  background-color: $color;
  font-size: 14px;
  h1 {
    color: $color;
  }
}

less同样类似css语法

css 复制代码
@color: #333;

body {
  background-color: @color;
  font-size: 14px;
  h1 {
    color: @color;
  }
}

2变量定义与使用:

sass和scss都使用$符定义变量

css 复制代码
$primary-color: #007bff;
$secondary-color: #6c757d;

.button {
  background-color: $primary-color;
  color: $secondary-color;
}

less使用@符号定义变量

css 复制代码
@primary-color: #007bff;
@secondary-color: #6c757d;

.button {
  background-color: @primary-color;
  color: @secondary-color;
}

3嵌套规则:

sass和scss都使用$符表示父元素

css 复制代码
nav {
  ul {
    list-style: none;
    li {
      display: inline-block;
      a {
        color: #333;
        &:hover {
          color: #000;
        }
      }
    }
  }
}

less使用~表示父元素

css 复制代码
nav {
  ul {
    list-style: none;
    li {
      display: inline-block;
      a {
        color: #333;
        &:hover {
          color: #000;
        }
      }
    }
  }
}

4混合(Mixins):

sass和scss通过@mixin定义,@include调用

css 复制代码
@mixin button-style {
  background-color: #007bff;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

.button {
  @include button-style;
}

less使用.mixin()形式定义和调用

css 复制代码
.button-style() {
  background-color: #007bff;
  color: #fff;
  padding: 10px 20px;
  border-radius: 5px;
}

.button {
 .button-style();
}

5继承:

sass、scss和less都使用@extend实现继承

css 复制代码
//sass
.error {
  border: 1px solid red;
  background-color: #f8d7da;
}

.serious-error {
  @extend.error;
  border-width: 3px;
}


//less

.error {
  border: 1px solid red;
  background-color: #f8d7da;
}

.serious-error {
  @extend.error;
  border-width: 3px;
}
相关推荐
拓人间精准客3 天前
全维度大数据:助贷机构破冰数据合规与触达难的5个支点
大数据·数据库·sass·tob
BillKu6 天前
全局样式变量:CSS 自定义属性(--border-color)和SCSS 变量($border-color)的说明
javascript·css·scss
jIwwMTdC7 天前
基于Vivado的AD9680 FPGA芯片测试程序开发之旅
less
Hi2024021711 天前
让 AI 逆向 NVIDIA SASS 指令并用 RTL 实现 Verilator 仿真
人工智能·sass·ai编程
费控测评官12 天前
零售连锁门店日结单AI审核方案:3步实现统一校验
金融·sass
慧一居士13 天前
Sass和Less功能、使用场景、用法对比
前端·css·less·sass
码云之上21 天前
从Popup类组件看定位参考系陷阱与设计取舍
前端·react.js·scss
宝桥南山1 个月前
Azure - 检查一下是否需要在Microsoft Extra ID中配置Passkeys认证方法
microsoft·微软·sass·azure
shawxlee1 个月前
vue3+elementplus+sass/scss安装配置教程:使用svg图标、引入外部字体、定义变量模块、修改组件样式、一键切换主题等
vue·sass·svg·字体·element·scss·主题样式
前端糕手2 个月前
Vue3 + Vite 项目中 SCSS 使用详解:为什么使用 SCSS,以及 preprocessorOptions 配置原理
scss