用Loading 加载中的整页加载来做蒙层

总结:遇见的bug

如何写一个蒙层
最初我打算的是自己写一个蒙层,但是写出来后,
不能够将整个屏幕全部覆盖。只能够覆盖 除【顶部导航】 和【左侧菜单栏】

于是我就使用了element-ui中的 【Loading 加载中】的【整页加载】来处理
推荐使用它来做蒙层 因为简单快

2==> 显示 显示区域无法水平垂直居中。
因为父级元素没有给height:100%;(重要)
父级元素不给高度100%;无法居中哈!

3==>最大问题 感觉关闭按钮 在蒙层之下,图片在蒙层之上。
整了很久,最后发现是按钮的颜色和蒙层相似。
我是如何发现的,给关闭按钮一个事件,如果事件能够被触发,
说明这个关闭按钮没有被蒙层覆盖

4==》loading.close(); //关闭蒙层
spinner: "none", //不要蒙层加载图标

<template>
  <div class="fatherbox">
    <!-- 触发蒙层按钮 -->
    <el-button type="primary" @click="openFullScreen2">服务方式</el-button>

    <!-- 显示区域 -->
    <div class="mask-box-content" v-show="flag">
      <div>
        <img src="../../../assets/image/bg.png" class="avtargeImg" />
      </div>
      <div @click="cancelMask">
        <i class="el-icon-circle-close my-icon-close"></i>
      </div>
    </div>
  </div>
</template>
<script>
// 
export default {
  data() {
    return {
      loading: "", //声明一个变量
      flag: false //蒙层默认关闭
    };
  },

  methods: {
    openFullScreen2() {
      this.loading = this.$loading({
        lock: true,
        spinner: "none", //不要蒙层加载图标
        background: "rgba(0, 0, 0, 0.5)"
      });
      this.flag = true; //打开蒙层
    },
    cancelMask() {
      this.loading.close(); //关闭蒙层
      this.flag = false; //关闭对话框;
    }
  }
};
</script>
.fatherbox {
  // 因为父级元素没有铺满整个屏幕
  // 所以无法居中
  height: 100%;
}
.mask-box-content {
  z-index: 1000000 !important;
  width: 400px;
  height: 460px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -230px;
  margin: auto;
  transform: translate(-50%, -50%);
  text-align: center;
}
.my-icon-close {
  width: 44px;
  height: 44px;
  font-size: 44px;
  color: #fff;
  margin-top: 22px;
  text-align: center;
}
.avtargeImg {
  width: 400px;
  height: 400px;
  border-radius: 6px;
}

posted @   南风晚来晚相识  阅读(927)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示