当前位置: 首页 > news >正文

CSS如何根据父级容器宽度调整子项_利用容器查询container选择器css

容器查询必须先声明container-type,否则@container规则无效;仅inline-size广泛支持;不可用于:root或body;禁用em/rem等相对单位;推荐px单位;container-name实现命名隔离;Chrome105+等主流浏览器原生支持。container查询必须先声明container-type不加container-type,@container规则完全无效——浏览器直接忽略,连报错都不会有。这是最常被跳过的一步。必须在父容器上显式设置container-type: inline-size(或size,但后者需同时设container-name且兼容性更差)inline-size是目前唯一广泛支持的取值,覆盖宽度变化场景;size要等宽高都变化才触发,实用性低不能写在:root或body上——body默认不是格式化上下文,多数情况下不生效;推荐用div、section等块级容器如果父容器是display: flex或grid,需确认它没被压缩(比如子项设了flex-shrink: 0但父容器没设min-width),否则实际可查询宽度可能远小于视觉宽度@container里不能用em/rem/vw等相对单位容器查询的断点单位只能是px、%(仅当父容器有明确宽度时)、ch等基于容器自身尺寸的单位。用em或rem会退化为视口基准,失去“响应父容器”的意义。错误写法:@container (min-width: 30em) —— 这里的em按根字体大小算,和容器无关正确写法:@container (min-width: 480px) 或 @container (min-width: 50%)(前提是父容器本身宽度固定或受约束)%容易踩坑:如果父容器宽度由内容撑开(如width: max-content),50%可能等于0px;建议优先用pxChrome 110+ 支持cap、ic等新单位,但 Safari / Firefox 尚未跟进,生产环境慎用container-name用于多容器嵌套隔离当一个页面里有多个可查询容器,又想让某条@container规则只作用于特定容器时,container-name就是唯一可控手段。给父容器设container-name: sidebar,然后写@container sidebar (min-width: 320px) { ... },这条规则就只对这个命名容器生效不命名的容器默认属于匿名组,所有匿名@container规则都会匹配它们——容易误触发命名不区分大小写,但建议全小写+短横线,避免和自定义属性冲突同一元素可以有多个名字:container-name: header, nav,对应多个@container块兼容性现状和降级方案Container Queries 在 Chrome 105+、Edge 105+、Safari 16.4+ 原生支持;Firefox 119+ 开始支持,但需手动开启layout.css.container-queries.enabled标志(不稳定)。没有polyfill能真正模拟容器查询逻辑。 There’s An AI For That 全球领先的 AI 聚合器,收集10,225个AI工具,可用于超过2,548个任务。

http://www.jsqmd.com/news/679908/

相关文章:

  • 告别ICP!用CloudCompare的Fast Global Registration搞定大角度点云初配准(附参数设置心得)
  • 最小二乘问题详解:束平差工程实践总结
  • 告别频繁盲检!5G R16 SPS半持续调度实战配置指南(附Type 1/Type 2避坑要点)
  • 从安装报错到完美出图:一份给R/Bioconductor新手的ChIPQC实战避坑指南(附phantompeakqualtools联动)
  • AI Agent Harness Engineering 的实时语音交互技术解析
  • 3种方法让普通鼠标秒变Mac神器:Mac Mouse Fix终极安装指南
  • 2026年粘度计哪家好:音叉式浓度计/高温粘度计/便携式粘度计/在线密度计/在线振动式粘度计/在线旋转粘度计/在线测量仪/选择指南 - 优质品牌商家
  • 从乐天到沃达丰:拆解Open RAN真实部署中,O-RU供应商们都在解决哪些具体问题?
  • 告别nvm!在Windows上用FNM管理Node.js版本,5分钟搞定环境配置(含PowerShell自动加载)
  • Yolov5网络改进的‘性价比’之思:以ASFF模块为例,谈模型优化如何避免‘参数爆炸’
  • FlinkCDC实战:从单表到多源MySQL同步,一键部署与性能调优指南(基于Flink 1.16+)
  • Golang怎么计算日期差天数_Golang如何计算两个日期之间相差多少天【方法】
  • 终极Total War模组编辑器:为什么RPFM是每个模组创作者必备的现代化工具?
  • ADS新手避坑指南:用Smith圆图搞定LNA输入输出匹配,别再被‘自动生成’坑了
  • 2026年评价高的广口瓶胚模具/食品罐瓶胚模具精选推荐公司 - 行业平台推荐
  • Cartographer纯定位模式下的Landmark配置全攻略:从参数collate_landmarks到数据融合
  • CM311-1A刷Armbian后,是U盘运行还是写入EMMC?两种方案的详细对比与选择建议
  • 建站公司推荐哪家好?
  • 手把手教你用QT QSlider做一个音量调节控件(附完整信号槽连接代码)
  • 保姆级教程:手把手教你修改WRF Noah-MP中的雪反照率参数(附MPTABLE.TBL详解)
  • Visual C++运行库终极解决方案:告别DLL缺失烦恼的完整指南
  • 保姆级教程:手把手教你用OpenCV复现ORB-SLAM2的ORB特征提取(附Python代码)
  • AOT发布Dify客户端报错“Unable to find method”?微软官方文档未披露的4项[DynamicDependency]标注规范与3行代码补救法
  • Windows 11 22H2 大文件传输“减速带”:SMB协议之外的排查与Robocopy提速方案
  • 单Agent时代结束,AI们开始组团上班
  • IWR6843ISK+DCA1000EVM新手避坑:从mmWave Studio配置到Python读取ADC原始数据的完整流程
  • Claude Design:设计商品化
  • Oracle 19c性能调优实战:用BenchmarkSQL 5.0跑TPCC压力测试,手把手教你分析报告
  • 独家逆向分析.NET 11 RC2 JIT增强日志:AI算子融合(Op Fusion)如何让ResNet-50推理吞吐提升5.2×?(附JITDump深度解读PDF)
  • 别再手动记代码了!用这个开源VBA工具箱,把Excel变成你的私人代码库