评论
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