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

Posted iwishicould

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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;
}

技术图片

以上是关于用Loading 加载中的整页加载来做蒙层的主要内容,如果未能解决你的问题,请参考以下文章

纯css实现loading加载中(多种展现形式)

Icefaces 1.8.2 中的整页刷新?

HTML5+CSS3 loading 效果收集

页面重新加载js无限loading

如何将 MVC5 RedirectResult () 重定向到 Asp.net 中的整页?

在 Livewire 中强制重新加载整页