当前位置: 首页 > 知识库问答 >
问题:

css @container 容器查询 查询高度不生效?

龚钧
2023-07-30

直接上 codepen demo
codepen

我希望能查询 container 元素的高度,高度超出指定高度后改变背景色但是没生效,完整代码如下

<template>  <div id="app">    <div class="container">      <div class="item" v-for="item in data" :key="item">{{ item }}</div>    </div>  </div></template><script>export default {  data() {    return {      data: [1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15]    };  }};</script><!-- Use preprocessors via the lang attribute! e.g. <style lang="scss"> --><style>  #app {    width: 210px;    height: 24px;    overflow: hidden;  } .container {   container: container / inline-size;   display: flex;   flex-wrap: wrap;   margin-right: -20px;}  .item {    padding: 5px 10px;    margin-right: 20px;    font-size: 12px;    background: #eee;    border-radius: 3px;  }  @container container (height > 24px) {    background: #eee !important;  }</style>
@container 兼容性一般,建议用最新版本的 chrome/safari/firefox 打开

共有2个答案

谷梁建中
2023-07-30

@Controller 不是选择器呀,它和媒体查询 @media 一样,只是匹配条件,选择器还是要自己写的

题主的写法:

@container container (height > 24px) {    /*没有选择器*/    background: #eee !important;}

正确写法:

@container container (height > 24px) {    .item {        background: #eee !important;    }}

这个术语叫做 at-rules,官方描述是:

At-rules are CSS statements that instruct CSS how to behave
At规则 是一个 CSS 语句,用来指示 CSS 如何运行

官方文档参考:

At-rule
郑茂勋
2023-07-30

试试这个语法:

image.png

https://codepen.io/Lionad/pen/abQQYPL


见 MDN 文档,楼主应该是忘记给 container 命名了,所以用 container-type 有效,但是直接用 container 无效。

 类似资料:
  • 问题内容: 编写CSS媒体查询时,有什么方法可以使用“或”逻辑指定多个条件? 我正在尝试做这样的事情: 问题答案: 使用逗号指定两个(或多个)不同的规则: 从https://developer.mozilla.org/en/CSS/Media_queries/ …此外,您可以在逗号分隔的列表中组合多个媒体查询;如果列表中的任何媒体查询为true,则将应用关联的样式表。这等效于逻辑“或”运算。

  • 快捷查询 快捷查询方式是一种多字段相同查询条件的简化写法,可以进一步简化查询条件的写法,在多个字段之间用|分割表示OR查询,用&分割表示AND查询,可以实现下面的查询,例如: Db::table('think_user') ->where('name|title','like','thinkphp%') ->where('create_time&update_time','>',0

  • 我想不出如何使用TypeOrm查询生成器编写以下MySql语句 从farm.reg中选择reg.id,其中grpId=“abc”; 这个选择返回的只是ID的,但我的查询生成器返回的是整个对象。 现在,我在我的NestJs服务中有这个函数,但我需要使用'map',我不想… 谢谢

  • 我试图从一个表中选择所有结果,并在用户ID匹配时与另一个表合并。 我有三个表:runs、users和一个run\u用户透视表。我想从数据透视表中的“运行”和其他列(即“已完成”、“粘性”、“上次测试”和“难度”)中选择所有结果,但只从当前用户的“运行用户”中提取数据。 在原始SQL中,我通过一个带有AND语句的左连接成功地做到了这一点: 如何通过查询生成器执行此操作,有何建议?我可以在Larave

  • 但是生成的SQL查询是 正如您所看到的,括号改变了,我相信两个查询中的条件并不相同。是虫子吗?使用hibernate和spring以及postgresql数据库。

  • 我有以下工作查询 它在整个路径=/content/dam上运行,所以它遍历所有节点大约20分钟,并给出结果。 当以编程方式使用查询生成器api时,我如何才能批量使用它,比如-遍历1000个节点并按代码执行某些操作,然后继续查询并遍历下1000个节点等等?这可能吗? 谢谢。