element ui 弹出层_elvui聊天框设置

(5) 2024-06-03 17:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说element ui 弹出层_elvui聊天框设置,希望能够帮助你!!!。

如图:

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第1张

解决办法

在el-dialog标签里添加 :modal-append-to-body='false'

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第2张

实现效果:

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第3张

问题解析

先来看看element-ui官网提供的属性说明文档

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第4张

文档解释:翻译成大白话就是,若el-dialog弹出框设置了modal-append-to-body='true'(默认)属性,它的遮罩层就会被插入到body标签下(即与组件所在的最外层div同一层级),知道这个原理就好办了。

问题分析:经过分析源代码可得,el-dialog的显示层和遮罩层都设置了position:fixed,当然显示层的z-index肯定要比遮罩层的大,才能正常的显示弹出框。问题就出在此处,若el-dialog的父级也设置了position:fixed,并且其z-index比弹出框的遮罩层的小(遮罩层处于更高一层),那么弹出框的内容就会被遮罩层所遮挡住了。

经过分析出问题的代码可得出,el-dialog的父级元素确实设置了position:fixed,并且其z-index比弹出框的遮罩层的小,所以就会出现遮罩层把内容挡住的问题。

解决方案

1、给el-dialog设置modal-append-to-body=“false”,使遮罩层插入至 Dialog 的父元素上。(推荐)

2、给position:fixed的父元素设置一个z-index,并且要比遮盖层的大。

3、el-dialog父元素不使用fixed定位。

为了验证这个问题,我特地写了个demo,如下图:

图一:modal-append-to-body=“true”

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第5张

图二:modal-append-to-body=“false”

element ui 弹出层_elvui聊天框设置_https://bianchenghao6.com/blog__第6张

(完)

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复