微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用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.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;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐