答案:使用max-height配合transition可避免动画跳跃。因height: auto无法计算中间状态,导致动画跳变;通过设置合理max-height值(如500px),结合overflow: hidden与ease-in-out过渡,实现平滑展开折叠。
这里是可展开的内容。
内容行 2
内容行 3
问题:为什么 height 和 max-height 动画会“跳跃”?
直接对 height 使用 transition 时,如果目标高度是 auto,浏览器无法计算
中间状态,导致动画失效或瞬间跳变。max-height 虽然可以过渡,但如果设置过大(如 9999px),动画时间会不自然;设置过小,则内容被截断。
关键技巧:
如果内容高度动态变化大,可:
基本上就这些,合理设置 max-height 能有效避免动画跳跃,实现视觉平滑的展开折叠效果。