【发布时间】:2017-03-13 19:55:24
【问题描述】:
这似乎是一个愚蠢的问题,但我已经做了好几个小时了,我无法让这个简单的事情发挥作用。
我有一个高度为0px的元素。
HTML
<div class="element"> ...content... </div>
CSS
.element {
height: 0px;
overflow: hidden;
transition: height 2s;
}
然后我有一些 js 会检查何时单击按钮,并将类“animate”添加到元素中。
CSS
.animate {
height: auto;
}
问题是,没有任何像 css 中指定的 2 秒动画。
我测试了同样的东西,但不是动画到height: auto;,而是动画到height: 150px;。
这样做是可行的,但我需要使用自动高度,因为内容的高度会有所不同。
这是我创建的 JSFiddle:https://jsfiddle.net/0ctzc4hv/1/
如何将元素的高度设置为自动?
提前致谢,
大卫
【问题讨论】:
-
你不能动画到
auto,但是你可以使用max-height,你把它设置成一个足够大的值来覆盖最高的内容 -
@LGSon @DaniP 谢谢!如果最大高度是无限的怎么办?我应该像
100000一样坚持下去吗? -
不,这样的动画很可能不好看,那么我建议使用脚本来计算最高的一个
标签: javascript html css animation