常用的过渡都是使用 CSS 过渡。
下面是一个简单例子:
| <div id="example-1"> |
| <button @click="show = !show"> |
| Toggle render |
| </button> |
| <transition name="slide-fade"> |
| <p v-if="show">hello</p> |
| </transition> |
| </div> |
| new Vue({ |
| el: '#example-1', |
| data: { |
| show: true |
| } |
| }) |
| |
| |
| .slide-fade-enter-active { |
| transition: all .3s ease; |
| } |
| .slide-fade-leave-active { |
| transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0); |
| } |
| .slide-fade-enter, .slide-fade-leave-to |
| { |
| transform: translateX(10px); |
| opacity: 0; |
| } |
| <!DOCTYPE html> |
| <html lang="zh"> |
| |
| <head> |
| <meta charset="UTF-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>CSS 过渡</title> |
| <script src="./vue.js"></script> |
| <style> |
| |
| |
| .slide-fade-enter-active { |
| transition: all .3s ease; |
| } |
| .slide-fade-leave-active { |
| transition: all .8s cubic-bezier(1.0, 0.5, 0.8, 1.0); |
| } |
| .slide-fade-enter, .slide-fade-leave-to |
| { |
| transition: translateX(10px); |
| opacity: 0; |
| } |
| </style> |
| </head> |
| |
| <body> |
| <div id="hzh"> |
| <button @click="show = !show"> |
| 切换渲染 |
| </button> |
| <transition name="slide-fade"> |
| <p v-if="show">你好!我是黄子涵!</p> |
| </transition> |
| </div> |
| <script> |
| new Vue({ |
| el: '#hzh', |
| data: { |
| show: true |
| } |
| }) |
| </script> |
| </body> |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?