尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

css3过渡效果如何处理高度不确定的动态内容

css3过渡效果如何处理高度不确定的动态内容
📅 发布时间:2026/6/20 7:58:20

css3过渡效果如何处理高度不确定的动态内容

如下图,要实现一个超出一定高度默认折叠的div层,下边带有展开/折叠按钮,点击按钮实现展开/折叠。

image

 原来的代码:

.attrTable {border-right: 1px solid #f5f5f5;border-bottom: 1px solid #f5f5f5;height: auto;transition: height 1s ease;&.collapse {height: 400px;overflow: hidden;}
}

这种写法是不会生效的,由于div层的高度是auto,折叠后的高度是400px,浏览器无法计算从auto到400px的过渡处理。当然也可以在获取数据并渲染之后实时计算具体高度,但这个就太复杂了。

有效的解决方案就是使用max-height代替height,代码如下:

.attrTable {border-right: 1px solid #f5f5f5;border-bottom: 1px solid #f5f5f5;height: auto; /* 保持动态高度 */max-height: 5000px; /* 展开时上限(远大于实际动态高度) */overflow: visible; /* 展开时显示全部内容 */transition: max-height 1s ease; /* 过渡目标改为 max-height */&.collapse {max-height: 400px; /* 折叠时固定上限 */overflow: hidden; /* 隐藏超出部分 */}
}

如上,给div层设置一个很大的max-height,使用max-height来作为动态效果触发的样式,就能实现展开/折叠的过渡效果了。

关键说明:
1. max-height 取值技巧:
展开状态的 max-height 要设为 “肯定大于动态高度” 的数值(如 5000px,根据你的实际场景调整,只要不小于最大可能高度即可)。
折叠状态的 max-height 保持你要的 400px,实现 “固定高度折叠”。
2. 为什么生效:
展开时:max-height: 5000px(实际高度由内容决定,动态自适应),overflow: visible 显示全部内容。
折叠时:max-height: 400px,超出部分被 overflow: hidden 隐藏,且 max-height 从 5000px → 400px 是 “数值→数值” 的过渡,浏览器能正常计算动画。
3. 优化体验(可选):
如果动态高度很小(比如不到 400px),折叠时可能看不到过渡效果,可给展开状态加最小高度兜底:

.attrTable {/* 其他样式不变 */min-height: 100px; /* 确保展开时至少有一定高度,过渡更明显 */
}
个人原创博客,转载请注明来源地址:https://www.cnblogs.com/xyyt

相关新闻

  • 如何构建 AI 智能体(2025 完全指南)
  • 2025年西安装修公司标杆推荐:西安华杰城市人家装饰,一站式家装服务新典范
  • 2025食堂承包供应商优质企业推荐榜:专业力量守护团餐品质,食堂承包企业

最新新闻

  • 微信二次开发:JSSDK安全授权、Ticket多级缓存与动态签名防刷架构
  • 2026石河子黄金回收优质门店推荐,实时高价上门回收旧金金条 - 速递信息
  • 为什么大厂都在用Kafka?因为高并发系统根本离不开它
  • 免费OpenAI API密钥终极指南:5分钟开启AI开发之旅
  • 深入解析NXP LH7A404 SoC:从电气特性到功耗管理的嵌入式设计实战
  • 从SPX3819到CSM5133SE:国产LDO替代实战中的关键参数与选型考量

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号