最大高度上的动画
Animation on max-height?
我有一个具有特定高度的div,当我切换"折叠"类时,如果div太高,它应该收缩到特定的最大高度。我一直在尝试将这种收缩动画化,但还没有弄清楚。我在网上查了一下,似乎在元素中添加以下几行就足够了。
-moz-transition: 1s;
-ms-transition: 1s;
-o-transition: 1s;
-webkit-transition: 1s;
transition: 1s;
然而,不管我把它们分配给哪个类,它都不起作用。
有什么想法吗?谢谢
transition
仅在您所更改的高度属性未解析为auto
时才有效。
我已经更新了您的jsfiddle以反映所需的更改。
下面,我更新了您的示例。这些是修复:
- 您需要添加一个特性以在
transition
中设置动画。在您的案例中为max-height
- 您的
#rect
规则覆盖了.collapsed
规则,因为它具有更高的特异性。您可以改用#rect.collapsed
- 您需要设置一个初始
max-height
和一个在两种状态下都大于或等于max-height
的任意height
我在您的示例中注意到,您可以更容易地转换height
属性,但我认为在您的实际项目中,您不能?
$("#toggle").click(function() {
$("#rect").toggleClass("collapsed");
});
#rect {
background-color:red;
max-height: 200px;
height: 2000px; /* arbitrary value >= max-height */
-moz-transition: max-height 1s;
-ms-transition: max-height 1s;
-o-transition: max-height 1s;
-webkit-transition: max-height 1s;
transition: max-height 1s;
}
#rect.collapsed {
max-height: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="rect"></div>
<button id="toggle">hi</button>
相关文章:
- 如何将高度动画设置为自动
- 如何设置'auto'JQuery动画中的高度
- 为矩形制作动画'它的高度应该上升,而不是下降
- 格林索克动画不适用于 SVG 高度
- 纯JavaScript - 定时动画 - 一致的高度
- 制作jQuery高度百分比动画
- jQuery在.show期间设置高度动画('幻灯片')
- jQuery动画到容器的高度
- jQuery 悬停时动画高度切换
- 动画高度属性::HTML+CSS+JavaScript
- jQuery手风琴式菜单,具有动画高度
- 动画高度为新内容的高度
- Snap SVG:只固定底部和动画高度
- jQuery动画高度向外扩展而不是向下扩展
- Jquery动画高度切换
- 动画高度:自动与较新的jQuery
- 动画高度改变在Bootstrap 3旋转木马
- 动画高度到自动存储高度- slideUp with velocity.js
- 织物js 矩形对象的动画高度从顶部而不是底部减小
- 在jquery中改变或动画高度为css默认值