【发布时间】:2011-09-29 03:10:09
【问题描述】:
请看下面的jsFiddle
您可以单击显示不同长度内容的各种按钮,从而导致框变大/缩小。
我希望高度变化是动画的,所以它不是那么跳跃,我尝试通过添加:
-webkit-transition: all 1s linear;
但这在这个用例中没有效果。关于不需要 JavaScript 的解决方案的任何想法?
谢谢
【问题讨论】:
标签: css webkit transitions
请看下面的jsFiddle
您可以单击显示不同长度内容的各种按钮,从而导致框变大/缩小。
我希望高度变化是动画的,所以它不是那么跳跃,我尝试通过添加:
-webkit-transition: all 1s linear;
但这在这个用例中没有效果。关于不需要 JavaScript 的解决方案的任何想法?
谢谢
【问题讨论】:
标签: css webkit transitions
恐怕如果没有一些 Javascript 帮助,就无法使用 CSS3 过渡来设置高度动画,请查看:
How can I transition height: 0; to height: auto; using CSS?
Can you use CSS3 to transition from height:0 to the variable height of content?
此外,您的代码从display: none 变为display: block,在任何情况下都不会影响高度。而不是显示无使用height: 0 和overflow: hidden;
【讨论】:
已经 8 年了,但对于那些寻求解决此请求的人来说:
CSS
#box {
border: 1px solid gray;
background-color: #f3f3f3;
-webkit-transition: all 1s linear;
}
.content {display:none}
.new_content {
transition: 1s;
}
JS
$('.toggler').on('click', function() {
var idname = $(this).attr('name');
var content = $('#' + idname).html();
var content_height = $('#' + idname).height();
$('.new_content').html(content).css("height", content_height);
});
另外,还有哪些变化:
希望对你有帮助。
【讨论】: