UIkit 的滑动动画怎么不生效?

夏侯绍博 阅读 19

我在用 UIkit 做一个下拉菜单,想加个滑动展开的动画效果,但加上 uk-toggleuk-animation-slide-top 后完全没反应,元素直接显示/隐藏了,动画一点没出来。

我查了文档,也引入了 uikit.min.js 和 uikit.min.css,基础组件比如 modal 都能正常工作。是不是我用错类名了?还是需要额外初始化什么?

这是我的代码:

<button type="button" uk-toggle="target: #menu">Toggle</button>
<div id="menu" class="uk-animation-slide-top" hidden>
  <p>菜单内容</p>
</div>
我来解答 赞 3 收藏
二维码
手机扫码查看
2 条解答
Designer°士航
UIkit 的动画类名得单独用在触发元素上,而不是目标元素。你得改一下代码,把动画类名加到 button 上。这样写:




不过这样写可能效果不对,因为 uk-animation-slide-top 是用于元素显示时的动画,不是 toggle 动画。你得用 uk-slide 动画组件来实现这个效果:




不过 uk-slidenav 也不是直接用于下拉菜单的,看起来你得用 uk-dropdown 来实现下拉菜单的滑动效果:




这样应该能实现你想要的滑动效果。
点赞
2026-03-22 02:08
Code°伊果
问题在于你用的是 HTML 的 hidden 属性,UIkit 动画需要用它的 uk-hidden 类。

把代码改成这样就行:




或者如果你想 hover 时也能触发动画,加个 uk-animation-toggle 类。
点赞
2026-03-17 17:02