当前位置: 首页 > article >正文

sass、scss、less、的区别

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

1语法格式:

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

$color: #333
body
 background-color: $color;
 font-size: 14px;
 h1:
    color: $color

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

$color: #333;

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

less同样类似css语法

@color: #333;

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

2变量定义与使用:

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

$primary-color: #007bff;
$secondary-color: #6c757d;

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

less使用@符号定义变量

@primary-color: #007bff;
@secondary-color: #6c757d;

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

3嵌套规则:

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

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

less使用~表示父元素

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

4混合(Mixins):

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

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

.button {
  @include button-style;
}

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

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

.button {
 .button-style();
}

5继承:

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

//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;
}


http://www.kler.cn/a/448300.html

相关文章:

  • 代理模式(JDK,CGLIB动态代理,AOP切面编程)
  • linux定时器操作
  • MySQL -- 库的相关操作
  • node express服务器配置orm框架sequilize
  • 单片机上电后程序不运行怎么排查问题?
  • windows下搭建本地sofa-registry
  • 文献阅读+ARIMA模型学习
  • Fluss 写入数据湖实战
  • 在 docker 内运行命令的一个大坑
  • Centos7 系统初始化
  • MySQL LIST Partitioning 问题求解/吐槽
  • 解锁大数据治理的“密码”与应用奥秘
  • ApacheStruts2 目录遍历与文件上传漏洞复现(CVE-2024-53677,S2-067)(附脚本)
  • 《测试开发方法论》-追踪溯源
  • 【钉钉群聊机器人定时发送消息功能实现】
  • C++ 哈希表封装unordered_map 和 unordered_set
  • 浅谈ORACLE中间件SOA BPM,IDM,OID,UCM,WebcenterPortal服务器如何做迁移切换
  • FLV视频封装格式详解
  • SSM 驱动的 JAVA 网络直播带货查询系统设计及 JSP 成功实现解析
  • 如何确保Java爬虫不超出API使用限制:策略示例
  • Vue 环境变量配置、使用方法、注意事项
  • HTML综合案例
  • C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
  • pro文件转换为CMakeLists.txt文件,QT官方工具使用教程
  • vue+springboot+cas配置及cookie传递问题
  • 现代密码学总结(下篇)