【element】谷歌浏览器 el-dialog 概率出现背景全黑,透明度不生效

本文档介绍了一个在谷歌浏览器中遇到的关于Element-UI弹窗(el-dialog)背景透明度不生效的问题。问题表现为遮罩层全黑且opacity设置无效。解决方案是通过设置遮罩层的opacity为1,并使用background属性配合rgba颜色实现透明效果。作者提供了相应的JavaScript代码片段,通过监听Dialog和MessageBox组件的可见性变化来动态调整遮罩层样式。
摘要由CSDN通过智能技术生成

项目场景:

谷歌浏览器


问题描述

谷歌浏览器 el-dialog 概率出现背景全黑,透明度不生效
class v-modal opacity:0.5 不生效

解决方案:

采用 opacity: 1 background: 0.5透明度的黑色
代码如下:

import Vue from 'vue'
import Element from 'element-ui'
import '../element-variables.scss'
/**
 * 来自 Karen 的帅气注释 2022-06-13 11:22:55
 * 解决遮罩层黑屏
 */
const resetModalStyle = () => {
  setTimeout(() => {
    const vmodal = document.body.getElementsByClassName('v-modal')
    if (vmodal.length) {
      vmodal[0].style.opacity = 1
      vmodal[0].style.background = 'rgba(0,0,0,0.5)'
    }
  })
}
const dialogWatch = Element.Dialog.watch.visible
Element.Dialog.watch.visible = function() {
  return new Promise(resolve => {
    resetModalStyle()
    resolve(dialogWatch.apply(this, arguments))
  })
}
const MessageConfirm = Element.MessageBox.confirm
Element.MessageBox.confirm = function() {
  return new Promise(resolve => {
    resetModalStyle()
    resolve(MessageConfirm.apply(this, arguments))
  })
}
Vue.use(Element)

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值