vue过渡动画

简介: <style> #box{ width:100px; height:100px; background-color: red; } /* 通过class设置动画方式,一共需要6个class */ /* 设置入场动画开始时的样式 */ .
<style>
#box {
width : 100px ;
height : 100px ;
background-color : red ;
}

/* 通过class设置动画方式,一共需要6个class */

/* 设置入场动画开始时的样式 */
.v-enter,.v-leave-to {
opacity : 0 ;
}
/* 设置入场动画过程中的样式 */
.v-enter-active,.v-leave-active {
transition : all 0.7s ;
}
/* 设置入场动画结束后的样式 */
.v-enter-to,.v-leave {
opacity : 1 ;
}
/* 设置元素离场动画开始时的状态 */
/* .v-leave{
opacity: 1;
} */
/* 设置元素离场动画过程中的状态 */
/* .v-leave-active{
transition: all 0.7s;
} */
/* 设置元素离场动画结束时的状态 */
/* .v-leave-to{
opacity: 0;
} */

#b2 {
width : 100px ;
height : 100px ;
background-color : greenyellow ;
}

/* v- 开头的动画样式是为匿名transition标签设置的样式,还可以使用xxx-center为某种transition标签设置动画样式 */
.ani-enter {
height : 0 !important ;
}
.ani-enter-active {
transition : all 0.7s ;
}
.ani-enter-to {
height : 100px ;
}
.ani-leave {
width : 100px ;
}
.ani-leave-active {
transition : all 0.7s ;
}
.ani-leave-to {
width : 0px !important ;
}
< /style>
</head>
<body>
<div id = "app" >
<input type = "checkbox" v-model = "show" >
<!-- v-show和v-if在显示和隐藏之间切换时 是不带动画的,如果需要添加动画,要使用transition标签 -->
<transition>
<!-- v-show和v-if写在transition标签中时,当元素需要隐藏时,不会立刻隐藏,而是执行离场动画,动画结束之后才隐藏。 -->
<div id = "box" v-show = "show" ></div>


</transition>

<!-- 如果在页面中需要执行多个动画,则可以为transition标签设置name属性,在css中单独为这个transition设置动画方式 -->
<transition name = "ani" >
<div id = "b2" v-show = "show" ></div>
</transition>
</div>
<script src = "vue.js" > < /script>
<script>
// 动画的区别
// 简单动画 少帧
new Vue ({
el: "#app" ,
data: {
show: false
}
})
< /script>
</body>
相关文章
|
2天前
|
缓存 JavaScript 算法
|
6天前
|
存储 JavaScript API
Vue 全局状态管理新宠:Pinia实战指南
 随着Vue.js项目的日益复杂,高效的状态管理变得至关重要。Pinia作为Vue.js官方推荐的新一代状态管理库,以其简洁的API和强大的功能脱颖而出。本文将带您快速上手Pinia,从安装到应用,轻松实现Vue.js项目的全局状态管理,提升开发效率和项目可维护性。
|
13天前
|
JavaScript
|
15天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
32 6
|
12天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
27 2
|
15天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
53 4
|
15天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
29 1
|
15天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
40 1
|
15天前
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
57 0
|
15天前
|
JavaScript 前端开发 数据安全/隐私保护
【vue】自定义指令实现 复制、长按、水印 功能
【vue】自定义指令实现 复制、长按、水印 功能
27 0