Sass 和 SCSS

Sass 和 SCSS 是 Sass (Syntactically Awesome Stylesheets) 的两种语法。它们都被用于编写更加结构化和易于维护的 CSS。以下是它们在语法和特性上的主要对比:

1. 语法格式

Sass (缩进语法)

  • 没有花括号 {} 和分号 ;
  • 使用缩进来表示嵌套和层次关系。
nav
  ul
    margin: 0
    padding: 0
  li
    display: inline-block
    margin-right: 5px

SCSS (Sassy CSS)

  • 类似于标准的 CSS,使用花括号 {} 和分号 ;
  • 兼容所有现有的 CSS 代码。
nav {
  ul {
    margin: 0;
    padding: 0;
  }
  li {
    display: inline-block;
    margin-right: 5px;
  }
}

2. 变量

两者都支持变量,语法一致:

$primary-color: #333;

nav {
  color: $primary-color;
}

3. 嵌套

两者都支持嵌套,但在 Sass 中,嵌套使用缩进,而在 SCSS 中使用花括号:

// Sass
nav
  ul
    margin: 0
    padding: 0

// SCSS
nav {
  ul {
    margin: 0;
    padding: 0;
  }
}

4. 混合器 (Mixins)

混合器的定义和调用在两者中相同:

@mixin border-radius($radius) {
  -webkit-border-radius: $radius;
     -moz-border-radius: $radius;
      -ms-border-radius: $radius;
          border-radius: $radius;
}

.box { @include border-radius(10px); }

5. 插值

插值在两者中的用法相同:

$side: left;
.margin-#{$side} {
  margin-#{$side}: 10px;
}

6. 运算

两者都支持在样式中进行运算:

.container {
  width: 100% - 20px;
}

7. 继承

两者都支持样式继承:

.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;
}

.error {
  @extend .message;
  border-color: red;
}

下次项目中用到它们的时候再在此补充!

相关推荐

  1. Sass SCSS

    2024-07-11 19:40:05       17 阅读
  2. SCSS Sass的区别?

    2024-07-11 19:40:05       25 阅读
  3. 探索 CSS、Sass SCSS:区别与应用

    2024-07-11 19:40:05       27 阅读
  4. Frontend - SASS / SCSS 文件使用

    2024-07-11 19:40:05       56 阅读
  5. CSS预处理器---Sass/Scss

    2024-07-11 19:40:05       67 阅读
  6. SASS/SCSS(一)】选择器

    2024-07-11 19:40:05       22 阅读
  7. Sass详解应用

    2024-07-11 19:40:05       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 19:40:05       51 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 19:40:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 19:40:05       44 阅读
  4. Python语言-面向对象

    2024-07-11 19:40:05       55 阅读

热门阅读

  1. 系统迁移从CentOS7.9到Rocky8.9

    2024-07-11 19:40:05       22 阅读
  2. 深入理解CSS中的块格式化上下文(BFC)

    2024-07-11 19:40:05       18 阅读
  3. EdgeOne安全能力开箱测评挑战赛

    2024-07-11 19:40:05       22 阅读
  4. mysql 8.0.37 客户端在centos7安装顺序

    2024-07-11 19:40:05       19 阅读
  5. 【C++】include头文件中双引号和尖括号的区别

    2024-07-11 19:40:05       15 阅读
  6. 在 MyBatis-Plus 中,字段更新为 null 的方法

    2024-07-11 19:40:05       13 阅读
  7. html基础-持续更新

    2024-07-11 19:40:05       21 阅读