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

如何为CSS container queries设置多条件?

CSS容器查询多条件组合的问题解决

重要提示 - 此代码仅在开启container queries的浏览器中生效

目前CSS容器查询不支持使用and直接连接多个条件,这就是你示例中蓝色背景规则不生效的原因。容器查询的多条件判断必须通过嵌套@container规则的方式实现,就像你写的黄色背景的写法那样。

原理说明

容器查询的语法和媒体查询并不完全一致,当前规范中,单个@container只能定义一个条件,多条件需要通过多层嵌套来组合——只有当所有嵌套层的容器条件都满足时,内部的样式才会被应用。

修正后的代码示例

.tile {
  width: 100px;
  height: 100px;
  border: 1px solid black;
  resize: both;
  overflow: auto;
  container-type: size;
  container-name: tile;
}

.tile__inner {
  width: 100%;
  height: 100%;
}

/* 嵌套实现同时满足min-width和min-height条件 */
@container tile (min-width: 100px) {
  @container tile (min-height: 100px) {
    .tile__inner {
      background: yellow;
    }
  }
}

/* 如果需要另一个多条件触发的样式,同样用嵌套 */
@container tile (min-width: 120px) {
  @container tile (min-height: 120px) {
    .tile__inner {
      background: blue !important;
    }
  }
}
<div class="tile">
  <div class="tile__inner"></div>
</div>

你可以调整元素大小测试:当宽高都≥100px时背景变黄,宽高都≥120px时背景变蓝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:55:18