【发布时间】:2015-07-27 16:59:22
【问题描述】:
是否可以根据计算的样式转换 css,而不是明确设置的样式?
示例
我有以下 CSS/HTML
.grow {
transition: height 1s ease-in-out;
}
.hidden {
display: none;
}
<ul>
<li>
<div class="grow">
<ul class="hidden">...</ul>
</div>
</li>
</ul>
然后,如果我使用 javascript 删除隐藏类,则 div 逻辑上会增长以适应新显示的内容,但是由于 height 属性没有改变,因此过渡不会生效。有没有办法克服这种行为?如果可能的话,我想保留css的解决方案。
【问题讨论】:
-
您不能根据自动高度为高度设置动画,您必须将其设置为 X % 或 X px 才能使用 css 进行动画处理,另一种方法是使用 JavaScript 在自动高度时获取高度从 0px 动画到新高度。
-
这就是我害怕的。希望这在未来的修订版中得到改变
-
它对自己的height属性的值没有影响,但对它的父母的height属性有影响。
-
哦,我的错。我看错了你的代码。
标签: html css css-transitions