评论

Sass 注释在 SCSS 和缩进语法之间的工作方式存在很大差异。两种语法都支持两种类型的注释:使用 /* */ 定义的注释(通常)会被编译为 CSS,以及使用 // 定义的注释,不会被编译。

在 SCSS 中

SCSS 中的注释与其他语言(如 JavaScript)中的注释类似。**单行注释**以 // 开头,一直持续到行尾。单行注释中的任何内容都不会作为 CSS 发出;从 Sass 的角度来看,它们就像不存在一样。它们也被称为**静默注释**,因为它们不会生成任何 CSS。

**多行注释**以 /* 开头,在下一个 */ 处结束。如果在允许使用语句的地方编写多行注释,它将被编译为 CSS 注释。它们也被称为**大声注释**,与静默注释形成对比。编译为 CSS 的多行注释可能包含插值,这些插值将在注释编译之前进行评估。

默认情况下,多行注释会在编译后的 CSS 中被删除,在压缩模式下。但是,如果注释以 /*! 开头,则它将始终包含在 CSS 输出中。

游乐场

SCSS 语法

// This comment won't be included in the CSS.

/* But this comment will, except in compressed mode. */

/* It can also contain interpolation:
* 1 + 1 = #{1 + 1} */

/*! This comment will be included even in compressed mode. */

p /* Multi-line comments can be written anywhere
  * whitespace is allowed. */ .sans {
  font: Helvetica, // So can single-line comments.
        sans-serif;
}

CSS 输出

/* But this comment will, except in compressed mode. */
/* It can also contain interpolation:
* 1 + 1 = 2 */
/*! This comment will be included even in compressed mode. */
p .sans {
  font: Helvetica, sans-serif;
}







在 Sass 中

缩进语法中的注释工作方式略有不同:它们基于缩进,就像语法的其他部分一样。与 SCSS 类似,使用 // 编写的静默注释永远不会作为 CSS 发出,但与 SCSS 不同的是,在开头 // 下方缩进的所有内容也会被注释掉。

/* 开头的缩进语法注释的工作方式与缩进相同,除了它们会被编译为 CSS。由于注释的范围基于缩进,因此结束的 */ 是可选的。与 SCSS 类似,/* 注释可以包含插值,并且可以以 /*! 开头以避免在压缩模式下被删除。

注释也可以在缩进语法中的表达式内使用。在这种情况下,它们的语法与 SCSS 中的语法完全相同。

游乐场

Sass 语法

// This comment won't be included in the CSS.
  This is also commented out.

/* But this comment will, except in compressed mode.

/* It can also contain interpolation:
  1 + 1 = #{1 + 1}

/*! This comment will be included even in compressed mode.

p .sans
  font: Helvetica, /* Inline comments must be closed. */ sans-serif

CSS 输出

/* But this comment will, except in compressed mode. */
/* It can also contain interpolation:
 * 1 + 1 = 2 */
/*! This comment will be included even in compressed mode. */
p .sans {
  font: Helvetica, sans-serif;
}





文档注释

使用 Sass 编写样式库时,可以使用注释来记录库提供的 Mixin、函数、变量和占位符选择器,以及库本身。这些注释由 SassDoc 工具读取,该工具使用它们来生成漂亮的文档。查看 Susy 网格引擎的文档以了解它的实际应用!

文档注释是静默注释,以三个斜杠 (///) 编写,位于要记录的事物正上方。SassDoc 将注释中的文本解析为 Markdown,并支持许多有用的注释来详细描述它。

游乐场

SCSS 语法

/// Computes an exponent.
///
/// @param {number} $base
///   The number to multiply by itself.
/// @param {integer (unitless)} $exponent
///   The number of `$base`s to multiply together.
/// @return {number} `$base` to the power of `$exponent`.
@function pow($base, $exponent) {
  $result: 1;
  @for $_ from 1 through $exponent {
    $result: $result * $base;
  }
  @return $result;
}
游乐场

Sass 语法

/// Computes an exponent.
///
/// @param {number} $base
///   The number to multiply by itself.
/// @param {integer (unitless)} $exponent
///   The number of `$base`s to multiply together.
/// @return {number} `$base` to the power of `$exponent`.
@function pow($base, $exponent)
  $result: 1
  @for $_ from 1 through $exponent
    $result: $result * $base

  @return $result