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计算,因此不会引发动画过渡

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

相关推荐
nbwenren33 分钟前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
之歆4 小时前
Day07_CSS盒子模型 · 样式继承 · 用户代理样式
前端·css
爱上好庆祝7 小时前
学习js的第五天
前端·css·学习·html·css3·js
EnCi Zheng8 小时前
M5-markconv自定义CSS样式指南 [特殊字符]
前端·css·python
前端老石人8 小时前
前端开发中的 URL 完全指南
开发语言·前端·javascript·css·html
用户059540174469 小时前
把多级缓存一致性验证从手工测试换成 Pytest 参数化,Bug 排查时间缩短 90%
前端·css
用户059540174469 小时前
把 Redis 持久化测试从 800 行 Shell 换成 30 行 pytest,排错效率翻了 10 倍
前端·css
W.A委员会9 小时前
多行溢出在末尾添加省略号
开发语言·javascript·css
ZC跨境爬虫12 小时前
跟着 MDN 学 HTML day_8:(高级文本语义标签+适配核心功底)
前端·css·笔记·ui·html
里欧跑得慢1 天前
17. Flutter Hero动画实现:让界面过渡更加优雅
前端·css·flutter·web