元素高度是按内容自动撑开的,如何用transition过渡动画实现高度从0到当前元素高度的变化
height: 0;
transition: all 1s linear;
height: 100px;
后面的100px不是固定的,是元素当前的高度,不用js获取高度的话,纯css有办法实现吗?
元素高度是按内容自动撑开的,如何用transition过渡动画实现高度从0到当前元素高度的变化
height: 0;
transition: all 1s linear;
height: 100px;
后面的100px不是固定的,是元素当前的高度,不用js获取高度的话,纯css有办法实现吗?
这个问题实际等同于:用CSS实现由
height:0到height:auto的渐变但
height:auto实际并不是一个具体的值,浏览器在执行该动画时还未取到实际值,因此没有渐变的效果;解决方案:
1,用js获取其实际值,执行动画;
2,【缺陷】用
max-height代替height,max-height设置一个足够大的值,如由max-height:0到max-height:1000px;此时动画会按照0到1000px渐变,视觉效果不好