不兼容IE的项目中,媒体查询可省略only screen吗?有何弊端?
媒体查询简化可行性解答
结论
你的场景下完全可以直接简化,除了古早版本浏览器的兼容问题外,没有任何其他负面影响。
两种写法的核心差异
only关键字的设计初衷就是专门适配不支持媒体查询的超旧浏览器:这类浏览器遇到only screen时会将其识别为无效的媒体类型,直接跳过整条媒体查询样式;如果去掉only,旧浏览器会忽略后面的尺寸判断规则,直接把媒体查询内的所有样式全局生效,这就是你提到的古早浏览器异常的根源。screen关键字的作用是限定样式仅对屏幕设备生效,如果你没有为打印设备、语音朗读设备单独定制差异化样式的需求,省略该字段完全没有问题:所有现代浏览器默认适配screen媒体类型,不带类型声明的媒体查询会默认匹配所有设备类型,和加screen的生效逻辑完全一致。
适配性验证
你当前的项目已经明确放弃IE兼容,目前所有主流浏览器(Chrome、Firefox、Safari、新版Edge、所有移动端主流浏览器)对简化后的@media (max-width: 576px)写法支持度100%,不会出现样式解析异常、优先级错误、性能损耗等问题,简化后的写法还能略微减少CSS文件体积,反而有极小的收益。
内容的提问来源于stack exchange,提问作者Artur Müller Romanov
相关产品推荐
相关产品推荐

