一.vue中的css动画原理1.过渡显示(1)transition标签transition表示包裹的内容会有一个动画过渡效果,动画效果必须包含在transition标签里。(2)动画流程transition包裹后会vue会自动分析css样式,构建一个动...
一.vue中的css动画原理
1.过渡显示
(1)transition标签
transition表示包裹的内容会有一个动画过渡效果,动画效果必须包含在transition标签里。
(2)动画流程
transition包裹后会vue会自动分析css样式,构建一个动画流程。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue中的css动画原理</title>
<script src="Li4vdnVlLmpz" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
.fade-enter {
opacity: 0;
} /* fade-enter被移除,opacity将恢复到1 */
/* 这个变化将在3s种内完成 */
.fade-enter-active {
transition: opacity 3s;
}
/* 对opacity进行transition监控,若opacity变化会在三秒钟从0变到opacity的值 */
/* .v-enter{
opacity: 0;
}
.v-enter-active{
transition: opacity 3s;
} */
</style>
</head>
<body>
<div id="root">
<transition name="fade"> <!-- 不屑name默认前缀为v -->
<!-- 动画效果必须包含在transition标签里
transition表示包裹的内容会有一个动画过渡效果-->
<!-- transition包裹后会vue会自动分析css样式,构建一个动画流程 -->
<div v-if="show">
hello world
</div>
</transition>
<button type="button" @click="handleClick">切换</button>
</div>
<script type="text/javascript">
var vm = new Vue({
el:'#root',
data:{
show:true
},
methods:{
handleClick:function(){
this.show=!this.show
}
}
})
</script>
</body>
</html>
流程:a.动画将要执行时,fade-enter与fade-enter-active生成。
b.第二帧时,fade-enter被消除,opacity将恢复到1。
c.将会在3s内完成恢复。
2.过渡隐藏
(1)动画流程
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="Li4vdnVlLmpz" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
.v-enter{
opacity: 0;
}
.v-enter-active{
transition: opacity 20s;
}
.v-leave-to{
opacity: 0;
}
.v-leave-active{
transition: opacity 5s;
}
</style>
</head>
<body>
<div id="root">
<transition>
<div v-if="show">
<!-- v-if与v-show都可以只要用transition包裹 -->
hello world
</div>
</transition>
<button type="button" @click="handleClick">切换</button>
</div>
<script type="text/javascript">
var vm = new Vue({
el:'#root',
data:{
show:true
},
methods:{
handleClick:function(){
this.show=!this.show
}
}
})
</script>
</body>
</html>
沃梦达教程
本文标题为:Vue入门笔记Day 8
猜你喜欢
- jsPlumb+vue创建字段映射关系 2023-10-08
- ajax实现输入提示效果 2023-02-14
- 1 Vue - 简介 2023-10-08
- 基于CORS实现WebApi Ajax 跨域请求解决方法 2023-02-14
- JS实现左侧菜单工具栏 2022-08-31
- layui数据表格以及传数据方式 2022-12-13
- 关于 html:如何从 css 表中删除边距和填充 2022-09-21
- vue keep-alive 2023-10-08
- 深入浅析AjaxFileUpload实现单个文件的 Ajax 文件上传库 2022-12-15
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08