IT
累计浏览 8
本文系统介绍了CSS Media Queries Level 5规范中的`@custom-media` at-rule,它允许开发者为复杂的媒体查询条件定义可复用的别名。其核心语法使用``(如`--modern-touch`)来声明一个媒体条件集合,并在`@media`规则中调用该别名。文章详细阐述了其作用域规则:与CSS自定义属性不同,`@custom-media`的定义是全局的,且在样式表处理时是静态解析,后续的重定义不会影响已处理的查询。该特性支持布尔常量(`true`/`false`)、逻辑运算符组合以及更简洁的CSS范围语法(如`(768px <= width <= 1024px)`)。一个独特能力是别名之间可以相互引用以构建语义化条件,但需避免循环依赖。通过定义通用断点或简化`prefers-reduced-motion`等常用查询,该功能显著提升了样式表的可维护性和可读性。需要注意的是,该别名目前无法通过JavaScript的`matchMedia()`访问,且浏览器原生支持度有限,文章建议使用`@supports`进行检测或借助PostCSS等构建工具实现渐进增强。