Vue 简单的遮罩层
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.tilte {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 30px;
margin: 0 auto;
border: 1px solid red;
}
.zz {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
}
.tan {
width: 500px;
height: 300px;
line-height: 300px;
background-color: #ffffff;
text-align: center;
font-size: 30px;
}
</style>
</head>
<body>
<div id="app">
<div class="tilte" @click="show=true">点击弹出</div>
<div class="zz" v-show="show" @click.self ="show=false"> <!-- 事件修饰符self 事件只作用在元素本身,而不是其子元素 -->
<div class="tan">自定义弹出层内容</div>
</div>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
new Vue({
el: "#app",
data() {
return {
show: false,
}
},
methods: {
},
})
</script>
</html>
样式有点丑 ,可以根据自己的需求来~