手写遮罩层

article/2025/8/29 8:51:40

(注:图文不符,仅供参考) 

遮罩层原理

        就是当出现弹窗或者确认框的时候,点击弹窗外的地方不会触发别的响应,只是单纯地关闭弹窗(或者不关闭也不触发其他响应)


遮罩层的简单写法

        任意定义一个div盒子,盒子范围根据需求自定义;设置position定位属性,初始z-index为“-1”,当弹窗或者确认框显示时,提高遮罩层盒子的层级;弹窗关闭时,再将遮罩层的层级调回“-1”。遮罩层的颜色的背景颜色可以按照需求自定义。


参考代码

<template><div><div class="mask" ref="mask" style="z-index: -1;" @click.stop="doNothing"></div>  <!--遮罩层--><button @click="showComdirm">弹出确认框</button><div class="popup" v-if=" comfirmIsShow " @click.stop="doNothing"><h5>确认这样修改吗?</h5><div class="btn"><button @click.stop="no">取消</button><button @click.stop="yes">确定</button></div></div></div>
</template>
<script>
export default {data: function() {return {comfirmIsShow: false;  //弹窗是否展示};},created(){},methods: {showComdirm(){this.comfirmIsShow = true;this.$refs.mask.style.zIndex = 10;  //根据ref获取遮罩层盒子的style属性,修改层级},doNothing(){  //点击遮罩层区域,不做任何处理。return;},no(){   //取消操作,关闭弹窗,恢复遮罩层初始层级this.comfirmIsShow = false;this.$refs.mask.style.zIndex = -1;},yes(){/* 一些操作 */;this.comfirmIsShow = false;this.$refs.mask.style.zIndex = -1;}}
};
</script>
<style scoped>
.mask{position: absolute;top: -194px;left: 0;width: 100%;height: 710px;
}
</style>

 修改遮罩层层级的方法:(通过$refs获取)this.$refs.mask.style.zIndex = 10; 

注意:mask遮罩层的层级要写在style属性里面


遮罩层:遮罩层背景颜色与内层透明底图片背景颜色冲突(opacity属性踩坑)

踩坑原因:

        在设置父盒子背景颜色的时候设置了透明度opacity属性小于1,如图中的灰色用以下代码表示;子元素会继承父元素的该属性,导致透明度也<1,展示出来就不够清晰。

参考文章解释~

opacity: 0.4;
background: #000000;

解决办法:

  • 父元素的颜色采用rgba的形式(在)
rgba(0,0,0,0.4)
  • 找到这个透明度为0.4的黑色,用16进制表示的方法,(如果设计稿给的颜色是透明度为1的十六进制颜色,那么我们可以参照下面的透明度表,补上后面两位代表透明度) 

参考文章~

  • 如上面的颜色,我们可以先知道设计稿的颜色是:#000000 ,opacity:0.4
  • 透明度0.4,参照表格用十六进制表示为: 66
  • 所以结合起来这个颜色就是:#00000066

 (受到父元素opacity影响的颜色)

  (修正后的显示情况)


http://chatgpt.dhexx.cn/article/qZFDM224.shtml

相关文章

利用Openlayers4实现地图遮罩效果(三)

文章目录 前言完整代码效果 代码解读完整项目代码(含测试数据&#xff09; 前言 之前写的关于利用openlayer创建遮罩的文章&#xff08;原文&#xff09;&#xff0c;那篇文章主要是讲如何创建一个四周遮罩&#xff08;即四周外围遮罩但露出目标中心区域&#xff09;。后面有很…

前端遮罩层实现_前端制作遮罩与蒙版

-1 遮罩: 有色则显示,无色抠取,半透明则半透明 蒙版: 黑色则抠除,白色显示,灰色则半透明 概念上两者非常容易混淆,但完成的效果是一样的,需记住哪个是无色抠取,哪个是黑色抠除。 再者还有个裁剪,只是做裁切,没有对半透明情况的处理。 这样一说就知道,本文阅读起来可…

elementui 遮罩

今日突发奇想&#xff0c;在之前的项目中是通过jQyery layUI实现遮罩效果的&#xff0c;效果如图 ​​​​​​​ 但jQuery和layUI的时代已经过去了&#xff0c;于是思考了一下如何通过VUE elementUI实现遮罩效果&#xff0c;本人没亲手实现&#xff0c;但目测通过elementU…

div遮罩层

实现遮盖层&#xff0c;使一部分区域不可点击编辑等。 1.简易遮罩层一&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"width<device-width>,…

CSS mask遮罩

一、CSS mask遮罩的过往和现状 CSS mask遮罩属性的历史非常久远了&#xff0c;远到比CSS3 border-radius等属性还要久远&#xff0c;最早是出现在Safari浏览器上的&#xff0c;差不多可以追溯到09年。 不过那个时候&#xff0c;遮罩只能作为实验性的属性&#xff0c;做一些特…

spin遮罩

旋转遮罩 前言知识基石?和&#xff01;[ ]和.样式css样式选择器 数据类型Symble获取Symbol.toPrimitive 对象属性定义ToPrimitive ( input [ , preferredType ] ) void 0&undefinedhasOwnProperty空对象对象拷贝assign深拷贝 spin__assign默认属性 前言 我们加载资源等待…

遮罩和蒙版

遮罩&#xff1a;即遮挡、遮盖&#xff0c;部分画面被遮挡&#xff0c;相当于一个窗口&#xff0c;它是一个单独的图层&#xff0c;上面的图层会遮挡下面的图层。即通过上面的图层遮挡下面的图片&#xff0c;起到遮挡的效果。时间轴上一个视频轨上的素材对应一个图层。 蒙版&am…

遮罩和蒙版有什么区别,视频遮罩怎么用

在制作短视频时&#xff0c;好多小伙伴分不清遮罩与蒙版的区别&#xff0c;甚至有的人认为它们就是一个东西&#xff0c;要说起来&#xff0c;这两个看似一样的概念&#xff0c;其实还是有很大的区别&#xff0c;今天就来带各位了解一下遮罩和蒙版有什么区别&#xff0c;视频遮…

oracle手动锁表和解锁_oracle锁表查询和解锁方法是什么

oracle锁表查询和解锁方法&#xff1a;首先使用【PL/SQL Developer】连接并操作oracle数据库&#xff1b;然后使用语句select for update来锁表&#xff1b;最后用语句【alter system kill session sid】解锁。 本文操作环境&#xff1a;Windows7系统&#xff0c;PL/SQL Develo…

Oracle查询被锁表和解锁方法

一、权限问题&#xff1a; 查询被锁表必须具有管理员权限的账号才能查询。system/manager或者其他已经被赋权的用户。 二、查询锁表语句&#xff1a; select object_name, l.oracle_username, machine, s.sid, s.serial# from v$locked_object l, dba_objects o, v$session…

Oracle 锁表问题查询处理

数据库操作语句的分类 DDL&#xff1a;数据库模式定义语言&#xff0c;关键字&#xff1a;create DML&#xff1a;数据操纵语言&#xff0c;关键字&#xff1a;Insert、delete、update DCL&#xff1a;数据库控制语言 &#xff0c;关键字&#xff1a;grant、remove DQL&#x…

oracle中锁表是什么,oracle锁表查询和解锁方法是什么,oracle锁表和解锁

oracle锁表查询和解锁方法是什么甲骨文锁表的查询和解锁方法是什么&#xff0c;oracle锁表查询和解锁方法&#xff1a;首先使用PL/SQL Developer连接和操作Oracle数据库&#xff1b;然后使用select语句进行更新来锁定表&#xff1b;最后&#xff0c;用[alter system kill sessi…

Oracle锁表查询和解锁方法

我们这里一般用的PL/SQL,总是无意间把表锁住&#xff0c;所以我今天就整理了一下简单的解锁和查询锁表的方法&#xff1b; 一、首先PL/SQL要以管理员的账号&#xff08;system/admin等&#xff09;登录&#xff0c;管理员的账号和密码根据个人设置而来&#xff0c;连接为一般选…

internal/modules/cjs/loader.js:638异常问题解决

在使用webpack安装插件&#xff0c;运行项目internal/modules/cjs/loader.js:638抛出异常信息&#xff0c;具体原因不知。 解决&#xff1a; 1、删除node_module文件&#xff0c;删除package-lock.json文件 2、重新npm install 3、重新运行&#xff0c;没有再报异常

运行node时报错:events.js:167 throw er; // Unhandled 'error' event

今天npm run dev 启动项目时报错&#xff1a; 报这个错通常是因为ip地址不正确&#xff0c;或者端口被占用。 到webpack.config.js文件中发现是因为ip地址不对&#xff1a; 解决办法&#xff1a;改成 host: 127.0.0.1&#xff0c;如果是端口被占用换个试试。 再运行npm run de…

vue中vue.runtime.esm.js?2b0e:619 [Vue warn]: data functions should return an object:报错原因

错误如图所示&#xff1a; 修改方法&#xff1a;在ContentBar.vue文件中的data写上return返回值。 必须写return的原因&#xff1a; 在简单的vue实例中看到的Vue实例中data属性是如下方式展示的&#xff1a; 在使用组件化的项目中使用的是如下形式&#xff1a; vue的文件data…

关于vue.js前端接收到数据却始终报_this is not defined at eval 的错误

之前做了一个关于作业管理的平台&#xff0c;利用ajax和后台异步通信&#xff0c;利用console.info()方法可以输出接受到的数据&#xff0c;但是一旦在成功的响应方法里面将数据赋值给前端定义的变量。就会转到failResponse的方法里面。代码如图&#xff1a; 数据已经获得成功如…

Node.js之rollbackFailedOptional错误处理

Paste_Image.png 这个错误可以简单的理解为 就是网不好 &#xff0c;改用淘宝的npm镜像就好 1.修改~/.npmrc文件(没有就自行新建一个)&#xff0c;写入 registry https://registry.npm.taobao.org2.同样的方法&#xff0c;将disturl 这个配置同样指向: https://npm.taobao.o…

遇见js报错应该如何解决

看控制台信息&#xff01;&#xff01;&#xff01; 我遇见过很多才开始学写代码的人&#xff0c;当然我自己以前也是那样的&#xff0c;面对代码报错我不知道应该如何做&#xff0c;不知道如何解决。随着学习时间的增加&#xff0c;我发现所有的语言都会有报错信息&#xff0…

Vue引入JQuery报错caught ReferenceError: jQuery is not defined

报错信息: caught ReferenceError: jQuery is not defined 原因分析&#xff1a;不详&#xff0c;本人前端处于幼儿园水平 错误截图&#xff1a; 解决办法&#xff1a; 在vue.config.js 中添加红色方框中的两段代码 const { defineConfig } require(vue/cli-service) con…