css-transitions - 设计具有固定高度和 Flexbox 的手风琴时的 Choppy/Jumping 幻灯片过渡
问题描述
我正在用 Svelte 设计一个带有填充的手风琴,就像 jQuery UI 的手风琴组件一样。每个菜单都由标头和内容元素组成 - 选择菜单时,使用{#if}
指令显示内容,否则将其从视图中删除。我正在使用幻灯片过渡动画显示和隐藏内容元素。
如果没有固定高度(即整个手风琴元素根据各个菜单高度改变高度),过渡看起来很好。但是,使用 flexbox grow 强制手风琴菜单内容填充剩余高度会导致过渡“跳过”。看起来它根据菜单内容的原始高度跳过了过渡,而不是 flexbox-grown,但我不能确定。
代码可以在这里找到source/components/AccordionMenu.svelte
:https :
//codesandbox.io/s/interesting-wilbur-99ucu 通过修改单个菜单内容的高度可以更好地解决这个问题(通过将高度设置为强制隐藏它们0) 并使用自定义过渡而不是直接在 DOM 中添加和删除它们?
解决方案
推荐阅读
- android - 如何跟踪我的网站中的迷你信息栏横幅安装?(related_applications)
- mysql - mysql-ctl cli的含义
- c++ - 如何复制 C++ 指针数据?
- typescript - 为什么 webgl 经常丢失上下文,为什么它不会再次恢复
- asp.net-core - 无法通过 ASP.NET Core 中的 CancellationToken 中断 HttpClient.GetStreamAsync
- mysql - 说明时间戳小时变化的查询
- javascript - 节点应用程序在生产中抛出错误,但在具有相同包的开发中却没有?
- tcl - 如何在脚本变量中返回 Tcl 字典?
- java - 当我想在 OpenGL 中的 3d 立方体的一个面上显示纹理时出现问题
- signal-processing - 您可以使用主动降噪来消除房间内设备发出的噪音吗?