重大变化:以 – 开头的函数和混合
在 Dart Sass 1.76.0 之前,函数和混合名称可以是任何有效的 CSS 标识符,但以 --
开头的标识符现已弃用。
通常,Sass 允许任何有效的 CSS 标识符用于任何 Sass 定义。这包括以 --
开头的标识符,用户可能在 CSS 自定义属性 的上下文中最熟悉这些标识符。但是,CSS 工作组正在 认真考虑 为 CSS 本身添加对函数和 mixin 的内置支持,可能使用名为 @mixin
和 @function
的 at-rules,就像 Sass 一样。
¥Generally, Sass allows any valid CSS identifier to be used for any Sass
definition. This includes identifiers which begin with --
, which users may be
most familiar with in the context of CSS custom properties. However, the CSS
working group is seriously considering adding built-in support to CSS itself
for functions and mixins, likely using at-rules named @mixin
and @function
just like Sass.
这意味着,为了在仍然支持 Sass 的构建时函数和 mixin 的同时保留其 CSS 兼容性的核心设计原则,Sass 需要能够区分使用相同 at-rule 名称的 CSS 和 Sass 声明。幸运的是,尽管 CSS 用于函数和 mixin 的语法细节仍悬而未决,但有一点似乎没有争议:使用以 --
开头的自定义属性类标识符作为 CSS 混合和函数名称。
¥This means that Sass, in order to preserve its core design principle of CSS
compatibility while still supporting Sass’s build-time functions and mixins,
needs to be able to distinguish between CSS and Sass declarations that use the
same at-rule names. Fortunately, although the details of the syntax CSS uses for
functions and mixins is still very much up in the air, one point seems
uncontroversial: the use of custom-property-like identifiers beginning with --
for CSS mixin and function names.
这将允许 Sass 将纯 CSS 函数和混合与以 --
开头的函数和混合区分开来。但为了使其正常工作,我们首先必须禁止 Sass 函数和 mixin 使用该前缀。
¥This will allow Sass to distinguish plain-CSS functions and mixins as those that
begin with --
. But in order for this to work, we first have to disallow Sass
functions and mixins from using that prefix.
过渡期过渡期 permalink
¥Transition Period
- Dart Sass
- since 1.76.0
- LibSass
- ✗
- Ruby Sass
- ✗
在 Dart Sass 1.76.0 和 Dart Sass 2.0.0 之间,Dart Sass 将继续允许名称以 --
开头的函数和 mixin。但是,它会发出一个名为 css-function-mixin
的弃用警告。
¥Between Dart Sass 1.76.0 and Dart Sass 2.0.0, Dart Sass will continue to allow
functions and mixins whose names begin with --
. However, it will emit a
deprecation warning named css-function-mixin
.
在 Dart Sass 2.0.0 和 Dart Sass 对纯 CSS 函数和 mixin 的支持发布之间,函数和 mixin 将不允许使用以 --
开头的名称。
¥Between Dart Sass 2.0.0 and the release of Dart Sass’s support for plain CSS
functions and mixins, functions and mixins will not be allowed to have names
that begin with --
.