就像任何其他编程语言一样,SASS 提供了许多内置模块,其中包含各种有用的函数和一些易于使用的 mixin。模块将使用@use 规则加载,就像任何其他用户定义的样式表一样,类似地,它的函数可以像任何其他模块成员一样被调用。所有内置模块都以sass开头:表示它们与其他模块不同,是 SASS 本身的一部分。
兼容性:目前只有Dart Sass 支持使用内置模块。其他实现如 LibSass 或 Ruby Sass 需要使用它们的全局名称而不是使用 @use 规则来调用函数。
例子:
@use "sass:color"
.button
color: green
border: 2px solid color.scale(green, $lightness: 20%)
这将导致以下 CSS 输出:
.button {
color: green
border: 2px solid #20b2aa;
}
SASS 提供以下内置模块:
- sass:math模块提供了处理数字的函数。
- 该SASS:字符串模块提供的功能,有助于合并,拆分或字符串搜索。
- sass:color模块提供基于现有颜色的新颜色,帮助您制作主题。
- sass:list模块有助于访问和修改列表的值。
- sass:map模块使使用地图更容易。
- sass:selector模块可以访问 SASS 的选择器引擎。
- sass:meta模块给出了 SASS 内部工作的细节。
在引入 SASS 模块之前,所有 SASS 功能过去一直是全局可用的。其中许多仍然具有全局访问权限,这意味着仍然可以在不使用模块的情况下访问它们。 SASS 团队将逐渐弃用它们,直到可以在较旧的 SASS 版本和当前不支持模块的 LibSass 中访问它们。几乎所有的功能都添加到了模块中,但仍有一些功能仅在全局范围内可用。原因要么是因为它们有一些特殊的评估行为,如 if()函数,要么是因为它们在内置 CSS 函数(如rgb()
和hsl()
函数rgb()
之上添加了一些额外的行为。这些将来也可能不会被弃用,因此可以自由使用。