Important - this code only works on browsers with container queries enabled

如何同时使用多个条件进行容器查询?使用@media查询的语法似乎不起作用.

在本例中,背景根据元素的宽度和高度更改为黄色(调整其大小以查看).但是结合这些条件来使背景变成蓝色是行不通的.

.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%;
}

@container tile (min-width: 100px) {
  @container tile (min-height: 100px) {
    .tile__inner {
      background: yellow;
    }
  }
}

@container tile (min-width: 100px) and (min-height: 100px) {
  .tile__inner {
    background: blue !important;
  }
}
<div class="tile">
  <div class="tile__inner"></div>
</div>

推荐答案

组合后的语法在您的示例中是正确的,并且在Chromev105和Safari Technology预览版v152中按照预期工作.我看到当宽度和高度都是100px或更大时,应用的蓝色背景.

我猜您使用的是Safari TP v151或更早的版本?V152之前的Safari TP中存在一个错误,需要在任何组合/否定语法周围加上圆括号.我希望您可以使用括号(这也是有效的语法):


@container tile ((min-width: 100px) and (min-height: 100px)) {
  .tile__inner {
    background: blue !important;
  }
}

或者将Safari升级到最新的TP.

代号:https://codepen.io/miriamsuzanne/pen/dyeYoBr/30d17f519afe57c5d88f2c281dcbb5e2

screenshot of a blue square on white background, with bottom-right handle for resizing

Css相关问答推荐

如何使一组元素的行为像字符串一样?

本机CSS嵌套混乱

如何将动态参数从react tsx文件发送到css

使用 CSS 关键帧动画更改内容

禁用MUI DataGrid上的悬停效果

是否有一个 CSS 可以根据字符的高度 for each 字符呈现可变高度?

使 MUI 自动完成打断长词以适合布局

Angular 以Angular 获取当前聚焦的元素

我在 ins 标签中有一个 img 标签,更改 ins 格式覆盖图像的视图

CSS动画移动divs upwords

更改组件中 css 的值

左右卡片的 OwlCarousel 导航:react js

位置绝对混乱的 CSS Flexbox

我怎样才能在某些区域制作一个单独的文本行,而在其他区域制作一个实心填充?

Angular Material 中的样式垫 Select

bootstrap 程序中有 7 个相等的列

在 Twitter Bootstrap 中创建圆角的正确方法

CSS过渡自动高度不起作用

如何停止 setTimeout 循环?

如何在页面上居中 twitter bootstrap 选项卡?