要实现折叠和展开动画,可以使用CSS的max-height
属性和transition
属性来实现,而不需要使用height
属性。
以下是一个示例代码,展示了如何使用max-height
属性和transition
属性来实现折叠和展开动画:
HTML:
这是要折叠和展开的内容。
CSS:
.collapse {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
}
.collapse p {
margin: 0;
}
.expanded {
max-height: 500px; /* 设置一个足够大的值,以展开内容 */
}
JavaScript:
function toggleCollapse() {
var element = document.getElementById("collapse");
element.classList.toggle("expanded");
}
在上面的示例中,初始时.collapse
元素的max-height
属性被设置为0,即隐藏内容。当点击按钮时,通过切换.expanded
类来改变.collapse
元素的max-height
属性,从而实现折叠和展开的动画效果。