重大变化:媒体查询级别 4
Sass 添加了对 CSS Media Queries Level 4 规范的支持。这最初与一些 Sass 特定的语法相冲突,因此该语法已被弃用,现在根据 CSS 标准进行解释。
- Dart Sass
- since 1.56.0
- LibSass
- ✗
- Ruby Sass
- ✗
由于 Sass 支持带括号的媒体条件中的几乎所有 Sass 表达式,因此通过添加对媒体查询级别 4 的完全支持,有一些结构的含义发生了变化。具体来说:
¥Because Sass supports almost any Sass expression in parenthesized media conditions, there were a few constructs whose meaning was changed by adding full support for Media Queries Level 4. Specifically:
-
@media (not (foo))
历史上被 Sass 解释为@media (#{not (foo)})
,因此编译为@media (false)
。¥
@media (not (foo))
was historically interpreted by Sass as meaning@media (#{not (foo)})
, and so compiled to@media (false)
. -
@media ((foo) and (bar))
和@media ((foo) or (bar))
类似地被解释为 SassScript 的逻辑运算符,分别编译为@media (bar)
和@media (foo)
。¥
@media ((foo) and (bar))
and@media ((foo) or (bar))
were similarly interpreted as SassScript’s logical operators, compiling to@media (bar)
and@media (foo)
respectively.
幸运的是,这些在实践中很少出现。
¥Fortunately, these came up very infrequently in practice.
过渡期过渡期 permalink
¥Transition Period
- Dart Sass
- since 1.54.0
- LibSass
- ✗
- Ruby Sass
- ✗
首先,我们对之前不明确的情况发出了弃用警告。这些将提供有关如何保留现有行为或如何使用新 CSS 语法的建议。
¥First, we emitted deprecation warnings for the previous ambiguous cases. These will have suggestions for how to preserve the existing behavior or how to use the new CSS syntax.