vue中怎样实现弹出层动画效果?由上而下渐渐显示---封装成复用组件
【摘要】
子组件:
<template>
<div class="home">
<!-- 首先将要过渡的元素用transition包裹,并设置过渡的name -->...
子组件:
<template>
<div class="home">
<!-- 首先将要过渡的元素用transition包裹,并设置过渡的name -->
<transition name="mybox">
<div class="box" v-show="boxshow"></div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {};
},
props: ["boxshow"],
methods: {},
};
</script>
<style lang="scss" scoped>
.box {
height: 500px;
background-color: rgb(245, 224, 224);
overflow: hidden;
}
/* 给过渡的name加样式 */
.mybox-leave-active,
.mybox-enter-active {
transition: all 1s ease;
}
.mybox-leave-active,
.mybox-enter {
height: 0px !important;
}
.mybox-leave,
.mybox-enter-active {
height: 500px;
}
</style>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
父组件:
<template>
<div class="home">
<button @click="tcc">渐入渐出</button>
<Tcc :boxshow="boxshow" />
</div>
</template>
<script>
import Tcc from "../components/Tcc"; //导入弹出层组件
export default {
name: "name",
components: {
TCK,
Tcc,
},
data() {
return {
show: false,
boxshow: false,
};
},
methods: {
//动画弹出层
tcc: function () {
this.boxshow = !this.boxshow;
},
},
};
</script>
<style lang="scss" scoped>
</style>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
效果
文章来源: jiangwenxin.blog.csdn.net,作者:前端江太公,版权归原作者所有,如需转载,请联系作者。
原文链接:jiangwenxin.blog.csdn.net/article/details/108778275
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)