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

Tailwind v4 + Next.js 15中Container Queries无法正常工作

问题分析与解决

Tailwind v4的容器查询(Container Queries)和屏幕断点语法并不通用,你直接用@md:作为容器查询前缀是核心问题——@md是屏幕断点的专属前缀,容器查询需要基于容器自身的尺寸定义触发条件,而非复用屏幕断点的命名。

错误根源

你的代码仅给父元素添加了@container声明容器,但未定义容器查询的触发尺寸规则,直接套用@md:这种屏幕断点语法,Tailwind无法识别为容器查询逻辑。

两种解决方式

方式1:直接使用尺寸条件编写容器查询

把代码里的@md:替换为基于容器尺寸的条件语句,比如希望容器宽度≥768px时触发样式,就写成@container (min-width: 768px)::

<div className="grid grid-cols-7 text-center font-h3 mb-1" role="row">
  {new Array(7).fill(0).map((_, i) => (
    <div key={i} role="columnheader" className="@container">
      <span className={clsx("hidden @container (min-width: 768px):inline", small ? "lowercase text-primary-500": "@container (min-width: 768px):normal-case @container (min-width: 768px):text-black")}>
        {small ? shortWeekLabels[i] : longWeekLabels[i]}
      </span>
      <span className="@container (min-width: 768px):hidden lowercase text-primary-500">
        {shortWeekLabels[i]}
      </span>
    </div>
  ))}
</div>

方式2:在配置中定义容器断点

如果想复用类似md的简洁命名,可在tailwind.config.js里自定义容器查询断点:

export default {
  theme: {
    containerQueries: {
      md: '(min-width: 768px)',
    },
  },
}

之后就能用@container md:的语法编写样式,代码修改为:

<div className="grid grid-cols-7 text-center font-h3 mb-1" role="row">
  {new Array(7).fill(0).map((_, i) => (
    <div key={i} role="columnheader" className="@container">
      <span className={clsx("hidden @container md:inline", small ? "lowercase text-primary-500": "@container md:normal-case @container md:text-black")}>
        {small ? shortWeekLabels[i] : longWeekLabels[i]}
      </span>
      <span className="@container md:hidden lowercase text-primary-500">
        {shortWeekLabels[i]}
      </span>
    </div>
  ))}
</div>

关键注意事项

  • 容器查询的触发依据是当前容器的宽度,而非屏幕宽度,需确保@container所在元素有明确的宽度约束(你的代码中父级是grid布局,子元素会自动分配宽度,满足要求)。
  • Tailwind v4中容器查询必须携带@container前缀,不能直接用@md:这类屏幕断点语法,二者属于不同的命名空间。

内容的提问来源于stack exchange,提问作者Bexy-Lyn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:27:01