You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSS中能否组合或嵌套多个@规则 需满足多重@条件才生效?

解决方案

CSS 原生支持多个@规则的嵌套组合,只要将一个@规则写在另一个@规则的作用块内,即可实现多个@条件同时满足时样式才生效的需求。

你可以直接将@media规则嵌套进@supports规则内部,写法如下:

@supports (-webkit-overflow-scrolling: touch) {
  @media only screen and (min-device-width: 1366px) and (max-device-height: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: landscape) {
    .widget-wrap {
      /* 此处写入目标样式,仅当两个@条件同时满足时才会生效 */
    }
  }
}

补充说明:

  • 你也可以反过来将@supports嵌套在@media内部,两种写法效果完全等效,没有性能差异,可根据自身代码逻辑习惯选择
  • 该语法所有主流现代浏览器(Chrome、Firefox、Safari、Edge)均已支持,无需额外兼容性处理
  • 除了@supports和@media的组合,你还可以嵌套更多层级的@规则(比如@layer、@container等),实现更多维度的条件控制

内容的提问来源于stack exchange,提问作者William Cox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 21:36:04