Stefan Judis 的笔记 指出有一个 规范 用于自定义媒体查询,但目前似乎没有进展。这种缺乏进展令人遗憾,因为一旦它准备好,几乎可以肯定所有前端开发人员都会开始使用它。我知道我会使用它,因为我现在经常使用 自定义属性,而自定义属性的 DRY 性质是我们使用自定义媒体查询时可以获得的相同优势之一。
语法如下
@custom-media --narrow-window (max-width: 30em);
@media (--narrow-window) {
/* narrow window styles */
}
@media (--narrow-window) and (script) {
/* special styles for when script is allowed */
}
.. 我从 Chrome Bug 中获取了它(点击星标以表示兴趣)。
我已经开始接受 postcss-preset-env 的想法,它可以为这个特性和其他许多特性提供 polyfill。我以前认为它过于理论化,这让我很紧张——很多 CSS 在没有 JavaScript 的情况下,并不特别适合使用 polyfill。此外,如果规范有任何改变,你基本上就被锁定了在一个 CSS 处理器中,而不能获得未来功能,因为最终该处理器会停止处理。但是,这里的所有 CSS 转换通常看起来都非常随意,能提供很多价值(比如自定义媒体查询!),你可以选择你最舒服的阶段。