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

news/2025/11/5 13:38:33/文章来源:https://www.cnblogs.com/xyyt/p/19193386

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; /* 确保展开时至少有一定高度,过渡更明显 */
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/956747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Python刷题笔记]-相交链表-链表+哈希/双指针-简单

[Python刷题笔记]-相交链表-链表+哈希/双指针-简单链接:160. 相交链表 - 力扣(LeetCode) 方法一:哈希 把A链表都存入一个哈希表,B链表遍历通过哈希表定位有没有相同的Node,因为哈希表的插入查询都是O(1)。所以这…

行专列

DLARE @cols NVARCHAR(MAX); DECLARE @sql NVARCHAR(MAX);-- 获取要转换的动态字段值列表 SELECT @cols = STUFF((SELECT DISTINCT , + QUOTENAME(value) FROM your_tableFOR XML PATH()), 1, 1, );-- 构建动态 SQL @s…

P9837 汪了个汪 小结

好题是好题,但是你真的不觉得这题很像 #1898. 【2024noip模拟二十六】生成树2 吗? 这个题我第一眼确实是没有什么想法,但是还是得想,因为他要求无序二元组都不相同,于是我就建了一个完全图。 建了完全图之后就发现…

`__call__`使代码更Pythonic吗?

__call__使代码更Pythonic吗? 要回答这个问题,需先明确“Pythonic”的核心内涵:代码符合Python的设计哲学(如“简洁明了”“可读性优先”“鸭子类型”),逻辑直观且符合语言习惯。__call__的合理使用能显著提升代…

用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025德语学习机构推荐:在线德语网课学习课程+真人互动+系统备考详解!

近年来,中德各领域合作日益紧密,学习德语逐渐成为不少人的新选择。面对市场上众多的德语学习机构,许多学习者感到难以抉择:有的课程内容缺乏系统性,有的师资信息不够透明,还有的教学效果难以直观衡量。这些问题常…

深入解析:第二章:BI的原理与技术架构

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:Video-of-Thought论文阅读

完整教程:Video-of-Thought论文阅读pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

20232414 2025-2026-1 《网络与系统攻防技术》实验四实验报告

20232414 2025-2026-1 《网络与系统攻防技术》实验四实验报告 1.实验内容 总结一下本周学习内容,不要复制粘贴 2.实验过程 3.问题及解决方案问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXX…

【第五章:计算机视觉-项目实战之生成式算法实战:扩散模型】2.CV黑科技:生成式算法理论-(2)扩散模型背后的数学原理 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

如何构建 AI 智能体(2025 完全指南)

AI 智能体革命才刚刚开始。虽然炒作是真实的,但机遇也是真实的。通过遵循本指南并避免常见陷阱,你今天就可以构建出能够交付真正价值的智能体,同时为即将到来的自主未来做好准备。🎯内容提要AI 智能体是能够自主决…

2025年西安装修公司标杆推荐:西安华杰城市人家装饰,一站式家装服务新典范

随着居住品质需求升级与家装行业标准化发展,2025 年西安家装市场规模持续扩大,消费者对设计专业性、材料环保性、工程透明度的要求日益提高。但市场上服务商水平参差不齐,业主在选择时常常面临设计与落地脱节、材料…

百度产品运营岗位--面试真题分析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

数据结构:从零开始掌握二叉树(2)二叉树的顺序存储-堆 - 教程

数据结构:从零开始掌握二叉树(2)二叉树的顺序存储-堆 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

2025年牛大力养生酒选品指南:广东醉王侯,醉王侯牛大力酒业/牛大力养生酒加盟/广东牛大力养生酒加盟/醉王侯牛大力酒加盟/五星推荐的健康之选

随着居民健康意识提升、养生消费需求升级及传统养生文化复兴,牛大力养生酒凭借独特的草本养生价值与饮用体验,从养生饮品细分领域逐步走进大众视野,2025 年市场规模预计持续增长。但市场扩张也带来品牌品质、原料把…

Python的`__call__`方法:让对象变成“可调用函数”

Python的__call__方法:让对象变成“可调用函数” 在Python中,()是“调用符号”——我们用它调用函数(如func())、创建类实例(如MyClass())。但你可能不知道:普通对象也能通过__call__方法变成“可调用对象”,像…

【拾遗补漏】.NET 常见术语集

前言 .NET 常见术语集旨在为 .NET 初学者提供一份清晰的入门指引,也为经验丰富的 .NET 开发者提供一份便捷的参考,帮助大家更准确地表达、更高效地学习、更深入地探索 .NET 的强大功能(有遗漏的欢迎文末留言)。 应…

2025评价高的PFA管阀接头厂家供应商推荐榜:江盛达,国产力量崛起,精准匹配高端制造需求,最好的PFA管接头厂家推荐

PFA管作为半导体、生物医药、精细化工等高端制造领域的关键流体输送组件,其纯度、耐腐蚀性与稳定性直接影响生产系统的可靠性。随着国产替代进程加速,2025 年市场涌现出一批技术过硬、服务完善的优质企业。本文结合行…

2025正规的广东AI营销公司推荐榜:复禹信息,技术与场景的深度融合之选,诚信的内地AI营销公司推荐

在人工智能技术全面渗透营销领域的 2025 年,企业对 AI 营销服务的需求已从单纯的流量获取转向 "技术合规 + 场景适配 + 效果可溯" 的综合解决方案。为帮助企业精准筛选合作伙伴,本文基于技术架构、数据治理…

2025食堂承包供应商优质企业推荐榜:专业力量守护团餐品质,食堂承包企业

随着团餐行业向标准化、集约化加速转型,食堂承包服务已从基础餐饮保障升级为涵盖安全管控、营养定制、智慧运营的综合服务体系。本次推荐聚焦 2025 年食堂承包领域表现突出的企业,结合服务口碑、安全管理、创新能力等…