元素高度是按内容自动撑开的,如何用transition过渡动画实现高度从0到当前元素高度的变化
元素高度是按内容自动撑开的,如何用transition过渡动画实现高度从0到当前元素高度的变化
height: 0;
transition: all 1s linear;
height: 100px;
后面的100px不是固定的,是元素当前的高度,不用js获取高度的话,纯css有办法实现吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这个问题实际等同于:用CSS实现由
height:0
到height:auto
的渐变但
height:auto
实际并不是一个具体的值,浏览器在执行该动画时还未取到实际值,因此没有渐变的效果;解决方案:
1,用js获取其实际值,执行动画;
2,【缺陷】用
max-height
代替height
,max-height
设置一个足够大的值,如由max-height:0
到max-height:1000px
;此时动画会按照0到1000px渐变,视觉效果不好http://www.zhangxinxu.com/wor...
用transform:scaleY(0);模拟如何,对老IE不友好
我也一直想知道这个问题。之前没有解决,所以都是用jquery的slideToggle()来做。
可以参考一下这个 https://blog.csdn.net/shi8510...