uniapp 折叠动画 <transition> 踩坑记录

一.问题复现

<transition name="collapse">

<view v-show="isOpen" class="collapse-grid">

<view v-for="n in [11,12]" :key="n" class="tool-item">功能{{ n }}</view>

</view>

</transition>

css 复制代码
.collapse-grid {
    width: 100%;
    background: red;
// 这里如果加flex 布局, 里面的内容会直接出来,不受折叠面板控制
    display: flex;
}


.collapse-enter-active,
.collapse-leave-active {
  transition: max-height 0.6s ease-in-out, opacity 0.6s ease-in-out;
  overflow: hidden;
}
.collapse-enter-from,
.collapse-leave-to {
  max-height: 0;
  opacity: 0;
}
.collapse-enter-to,
.collapse-leave-from {
  max-height: 600rpx;
  opacity: 1;
}

原因是 在小程序中,父容器是flex时,子元素的max-height变化不会触发布局动画

子元素的max-height不参与flex计算,因此不会引发动画过渡

动画帧直接跳到了最终状态,看起来就是无动画

相关推荐
Crystal32817 小时前
移动web开发常见问题
前端·css·面试
Franciz小测测19 小时前
Gemini 网页端自定义教程:利用 Stylus 强制开启宽屏显示
前端·css·stylus
程序员刘禹锡19 小时前
定位与图标字体知识点全解析!!!(12.31)
前端·css·html·css3
hxjhnct20 小时前
CSS中px,em,rem的区别
javascript·css·css3
kevinlaizhiyu20 小时前
巧用View Transition API实现炫酷的主题切换效果
css
烤麻辣烫1 天前
黑马大事件学习-19(文章)
前端·css·vue.js·学习·html
yyt3630458411 天前
K 线图高性能窗口化渲染
前端·javascript·css·vue.js·gitee·vue
百锦再1 天前
Elements Plus 跨设备自适应显示问题综合解决方案
python·flutter·小程序·uni-app·k8s·tornado·net
聪明的Levi1 天前
FRONT END REVIEW
前端·css·html