CSS 解决z-index上层元素遮挡下层元素点击事件问题

简介: CSS 解决z-index上层元素遮挡下层元素点击事件问题

解决z-index上层元素遮挡下层元素点击事件问题


开发环境

Win 10

element-ui  "2.8.2"

Vue 2.9.6

 

需求描述

如下,有以下界面,其中右侧边时一个ElementUI Dialog模态对话框,希望在对话框上执行点击操作时,不会点击到被对话框遮挡的页面的按钮,同时,也希望可以点击对话框区域外的其它页面元素

 

 

html元素结构如下

 

 

解决方案

为被遮挡元素上层使用z-index属性的元素添加以下样式:

pointer-events: none;

这样点击事件就能穿透上层元素,可点击到被遮挡元素,但是此时,上层元素无法响应点击事件

然后为被遮挡元素添加以下样式,让上层元素可以响应点击事件(仅让被遮挡元素自身可以响应点击事件):

pointer-events: auto;

 

代码实现

<template>

   <!-- 用例详情组件 -->

   <div class="case-dialog-div">

       <el-dialog

           ref="caseDialog"

           :title="caseDialogTitle"

           :visible="caseDialogVisible"

           :fullscreen="fullscreen"

           :modal="false"

           :close-on-click-modal="false"

           :before-close="beforeClose"

           custom-class="case-dialog-class"

           @close="onCloseDialog"

       >

           ...略

       </el-dialog>

   </div>

</template>

 

<style lang="scss">

// 修改dialog body样式//该样式不能放置.case-dialog-div下,否则 全屏 功能不起作用

.case-dialog-class {

   position: fixed;

   pointer-events: auto; // dialog本身区域不让“穿透点击”

   display: block;

   height: 100%;

   width: 50%; // width: 959px;

   right: 0px;

   margin-top: 0px !important;

   padding: 10px !important;

   overflow: auto;

}

 

.case-dialog-div {

   .el-dialog__wrapper {

       pointer-events: none; // 可点击dialog区域外的html元素

       

   }

 

   ...略

}

</style>

 

目录
相关文章
|
1月前
|
前端开发 JavaScript
css之伪类hover改变自身、子元素、其他元素的样式
css之伪类hover改变自身、子元素、其他元素的样式
28 0
|
2月前
|
前端开发 JavaScript 开发者
CSS隐藏元素的N种方法,你知道哪一种最适合你?
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
3月前
|
前端开发 小程序
CSS元素居中大全
CSS元素居中大全
|
4月前
|
前端开发 JavaScript
如何利用jQuery来向一个元素中添加和移除CSS类?
如何利用jQuery来向一个元素中添加和移除CSS类?
31 0
|
8天前
|
XML 前端开发 数据格式
css元素
【4月更文挑战第20天】css元素
16 4
|
11天前
|
前端开发
css中几种隐藏元素的方法
css中几种隐藏元素的方法
11 0
N..
|
1月前
|
前端开发 容器
CSS 网页布局元素
CSS 网页布局元素
N..
23 1
|
1月前
|
前端开发 UED 容器
CSS3美化网页元素
CSS3美化网页元素
10 0
|
1月前
|
移动开发 HTML5
编程笔记 html5&css&js 024 HTML表单元素
编程笔记 html5&css&js 024 HTML表单元素
|
2月前
|
Web App开发 存储 前端开发
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解
【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解