2022-07-22 22:34:16 +02:00
|
|
|
---
|
|
|
|
title: "Breaking Change: Media Queries Level 4"
|
|
|
|
introduction: >
|
2022-11-02 00:20:12 +01:00
|
|
|
Sass has added support for the CSS Media Queries Level 4 specification. This
|
|
|
|
originally conflicted with some Sass-specific syntax, so this syntax was
|
|
|
|
deprecated and is now interpreted according to the CSS standard.
|
2022-07-22 22:34:16 +02:00
|
|
|
---
|
|
|
|
|
2022-11-02 00:20:12 +01:00
|
|
|
<% impl_status dart: '1.56.0', libsass: false, ruby: false %>
|
|
|
|
|
2022-07-22 22:34:16 +02:00
|
|
|
Because Sass supports almost any Sass expression in parenthesized media
|
2022-11-02 00:20:12 +01:00
|
|
|
conditions, there were a few constructs whose meaning was changed by adding full
|
2022-07-22 22:34:16 +02:00
|
|
|
support for Media Queries Level 4. Specifically:
|
|
|
|
|
|
|
|
* `@media (not (foo))` was historically interpreted by Sass as meaning
|
|
|
|
`@media (#{not (foo)})`, and so compiled to `@media (false)`.
|
|
|
|
|
|
|
|
* `@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.
|
|
|
|
|
2022-11-02 00:20:12 +01:00
|
|
|
Fortunately, these came up very infrequently in practice.
|
2022-07-22 22:34:16 +02:00
|
|
|
|
|
|
|
## Transition Period
|
|
|
|
|
|
|
|
<% impl_status dart: '1.54.0', libsass: false, ruby: false %>
|
|
|
|
|
2022-11-02 00:20:12 +01:00
|
|
|
First, we emitted deprecation warnings for the previous ambiguous cases. These
|
2022-07-22 22:34:16 +02:00
|
|
|
will have suggestions for how to preserve the existing behavior or how to use
|
|
|
|
the new CSS syntax.
|