Tailwind Slide-over无法正常展开,动画异常问题排查
解决Tailwind UI Slide-over配合Alpine.js过渡异常的问题
你的问题出在没有给slide-over的核心容器配置Alpine.js的过渡指令,仅靠Tailwind的过渡类无法让Alpine触发完整的进入/离开动画,导致只有标题的局部动画生效,整体元素直接显示/隐藏。
具体修改如下:
给遮罩层(半透明背景的div)添加Alpine过渡属性,实现淡入淡出:
x-transition:enter="transition-opacity duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition-opacity duration-300" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0"给右侧的滑动面板容器添加过渡属性,实现滑入滑出:
x-transition:enter="transition-transform duration-300 ease-in-out" x-transition:enter-start="translate-x-full" x-transition:enter-end="translate-x-0" x-transition:leave="transition-transform duration-300 ease-in-out" x-transition:leave-start="translate-x-0" x-transition:leave-end="translate-x-full"确保
x-show绑定在包含遮罩层和面板的最外层容器上,并且Alpine的初始状态isOpen设为false。
另外注意:不需要给这些容器加hidden类,x-show会在状态为false时自动隐藏元素,配合过渡指令就能实现平滑的整体动画效果。
内容的提问来源于stack exchange,提问作者Sig
相关产品推荐
相关产品推荐

