CSS容器查询实时演示器

拖动可调整宽度的容器,实时观察内部元素样式随容器宽度(而非视口宽度)变化,直观演示@container容器查询的效果与语法。

免费在线工具
Loading…

使用说明

1. 拖动页面中「容器宽度」滑块,或直接用鼠标/触摸拖动虚线框内容器右侧的紫色拖拽条,改变演示容器的宽度。

2. 容器内部的卡片网格使用真实的 @container CSS 规则:容器宽度小于 300px 时单列展示,300px 到 500px 之间两列展示,超过 500px 三列展示,布局会跟随容器宽度实时变化,与浏览器窗口本身的宽度无关——即使把整个页面拉得很宽,只要这个容器本身窄,内部依旧是单列布局。

3. 页面上方会实时显示当前容器宽度数值和命中的断点说明文字。

4. 「对应的 CSS 代码」区展示了实现该效果的完整 CSS 代码(container-type、container-name、@container 规则),可直接参考复制到自己项目中使用。

5. 点击「加载示例数据」会自动依次把容器宽度设为 200px → 350px → 650px → 420px,快速演示三种断点的切换效果。

功能介绍

本工具是一个交互式的 CSS Container Query(容器查询)教学演示工具:提供一个可拖动调整宽度的容器,容器内部元素用真实的 @container 规则写了三条响应式样式(宽度 < 300px 单列、300px~500px 两列、> 500px 三列),拖动容器宽度即可实时看到内部布局随容器宽度变化,而不是随浏览器视口宽度变化。

与站内已有的「Web 特性检测工具」定位不同:Web 特性检测工具是能力检测类工具,用于判断当前浏览器是否支持 Container Query 等新特性;本工具则是交互式教学演示工具,面向已经知道浏览器支持该特性、但想直观理解「容器查询和媒体查询的区别」「@container 具体怎么写」的开发者,通过实际拖动操作建立直觉认知,而不做能力检测。

页面同时提供 @container 语法基础说明表格,覆盖 container-type、container-name、@container 断点写法及典型使用场景(可复用组件根据自身所在容器宽度而非整页宽度调整布局)。

使用场景

理解容器查询与媒体查询的区别
对 @media 视口宽度响应式很熟悉,但不确定 @container 容器查询具体是什么效果,通过实际拖动容器(而不是缩放浏览器窗口)观察布局变化,直观建立两者的区别认知。
设计可复用组件前验证响应式方案
开发一个卡片/侧边栏 Widget 组件,希望它放在主内容区是多列、放在窄边栏时自动变单列,用本工具的断点设置和交互方式作为参考,快速验证 @container 方案是否符合预期效果。
给团队讲解容器查询新特性
团队分享 CSS 新特性时,用本工具现场拖动演示 @container 的实时响应效果,比单纯口头讲解或截图更有说服力。
复制现成的 @container 代码起步
不确定 container-type、container-name、@container 断点的具体写法和搭配方式,直接复制页面提供的完整示例 CSS 代码作为自己项目的起点再修改。

常见问题

这个工具和站内的「Web 特性检测工具」有什么区别?
Web 特性检测工具是能力检测类工具,用于判断当前浏览器是否支持 Container Query 等新特性;本工具是交互式教学演示工具,假设浏览器已支持该特性,重点是通过实际拖动容器让你直观看到 @container 响应式布局的真实效果,两者定位不同、互不重复。
为什么拖动浏览器窗口宽度,容器内部布局没有变化?
这正是容器查询和媒体查询最核心的区别:@container 规则响应的是「最近的祖先容器」的宽度,而不是浏览器视口宽度。演示区域里的容器宽度是通过滑块/拖拽条单独控制的,与浏览器窗口大小无关,所以只缩放浏览器窗口不会触发容器内部布局变化。
如果浏览器不支持 Container Query 会怎样?
页面顶部会显示一条提示,说明当前浏览器可能不支持该特性,演示区域可能无法正确响应容器宽度变化。建议使用较新版本的 Chrome、Edge、Safari 或 Firefox 查看完整效果。
容器查询的三个断点(300px / 500px)是固定的吗?
本演示工具里的断点是写死在示例 CSS 里的三个典型值,用于演示效果;实际项目中可以根据自己组件的设计需求,在 @container 规则里自由设置任意宽度断点,并不局限于这三个数值。