高度过渡
当元素的高度未知时,将元素的高度从 0
过渡到 auto
。
- 使用
transition
指定max-height
的变化应该被过渡。 - 使用
overflow: hidden
防止隐藏元素的内容溢出其容器。 - 使用
max-height
指定0
的初始高度。 - 使用
:hover
伪类将max-height
更改为由 JavaScript 设置的--max-height
变量的值。 - 使用
Element.scrollHeight
和CSSStyleDeclaration.setProperty()
将--max-height
的值设置为元素的当前高度。
💬 注意
在每个动画帧上导致重排,如果在过渡高度的元素下面有大量元素,会产生延迟。
<div class