首页 > 其他分享 >在CSS中创建一个遮罩层并阻止点击穿透的常见方案

在CSS中创建一个遮罩层并阻止点击穿透的常见方案

时间:2023-07-07 09:55:37浏览次数:41  
标签:遮罩 100% 元素 透明度 穿透 设置 CSS 属性

  1. 使用 position: fixedz-index:创建一个具有全屏尺寸的 <div> 元素,并将其设置为 position: fixedtop: 0left: 0width: 100%height: 100%,然后使用 z-index 将其放在其他元素之上。通过设置透明度、背景颜色或使用其他视觉效果,可以实现遮罩层的效果。这样的遮罩层将位于所有其他内容的顶部,并阻止点击事件穿透到下面的元素。
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}
  1. 使用 pointer-events:通过将遮罩层元素的 pointer-events 属性设置为 autonone,可以控制其是否接受鼠标事件。将其设置为 auto 会启用鼠标事件,而将其设置为 none 则会禁用鼠标事件。通过将遮罩层设置为不接受鼠标事件,可以防止点击事件穿透到下面的元素。
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

p.s 通过background-color: rgba(0, 0, 0, 0.5);设置的遮罩透明度与opacity属性设置的有啥不同?

  通过 设置遮罩层的透明度与使用透明度属性设置的方式有一些不同。

  1. :这种方式通过使用 RGBA 颜色值来设置遮罩层的背景颜色,并通过最后一个参数(alpha 值)来控制透明度。在这种情况下,遮罩层的透明度会直接应用于其背景颜色,而不会影响遮罩层上其他内容的透明度。

  2. 透明度属性:CSS 提供了 opacity 属性用于控制元素的透明度。将透明度属性应用于遮罩层元素时,不仅会影响其背景颜色的透明度,还会影响遮罩层上其他内容的透明度。换句话说,透明度属性会同时影响遮罩层的背景和内容的透明度。

   例如,如果遮罩层上有文本或其他元素,并且将透明度属性设置为 0.5,那么除了背景颜色变为半透明外,遮罩层上的文本或其他元素也会变得半透明。这可能不是您想要的效果。

   因此,如果您只想要调整遮罩层的背景颜色的透明度,而不影响其他内容的透明度,使用 background-color: rgba(0, 0, 0, 0.5); 是更合适的选择。

标签:遮罩,100%,元素,透明度,穿透,设置,CSS,属性
From: https://www.cnblogs.com/caihongmin/p/17533966.html

相关文章

  • CSS基础知识(未完待续)
    前言:从本篇开始记录css的一些基础知识,但不会涉及css3,以后会单独学习记录。1.CSS简介html只关注了内容的语义,但并没有注意具体布局的美化以及样式,如果用html去设置的话,就会显得十分臃肿,这时候就需要css来进行设置了。CSS是层叠样式表的简称,有时候我们也会称之为css样式表或者......
  • CSS学习笔记3-CSS元素定位
    1标准流布局1.1认识定位属性......
  • vue(五)CSS样式添加
    Vue具有三种样式化应用程序的方法:外部CSS文件。单文件组件(.vue文件)中的全局样式。单文件组件中组件范围的样式。外部CSS导入外部CSS文件import"./assets/reset.css";单组件全局样式<style>/*全局样式*/.btn{padding:0.8rem1rem0.7rem;......
  • css动态生成多个class样式
    在纯CSS中,无法动态生成多个类样式。CSS是一种静态样式表语言,它主要用于描述网页上元素的外观和布局,而不能在运行时动态生成类样式。然而,你可以通过使用CSS预处理器(如Sass、Less等)或CSS-in-JS工具(如StyledComponents、Emotion等)来在一定程度上实现动态生成类样式的效果。举例来......
  • CSS|动画与效果
    一.过渡1什么是过渡过渡可以为一个元素在不同状态之间切换的时候定义不同的过渡效果2应用场景当鼠标hover的时候,有一个明显的突出效果,但是又不会显得特别生硬3使用1)语法transition:属性时长缓动函数属性:可以是具体的某个属性,或者是全部(all)时长:变......
  • 内网穿透
    牛逼!无需安装,一行命令搞定内网穿透(qq.com)......
  • [css]选择器,匹配以某个字符开头或结尾
    div[class$="-btn"]:active{opacity:.8}<divclass="user-btn"></div>可匹配到div,class为“-btn”结尾的元素div:[id^="item-"]{color:red}<divid="item-op"></div>可匹配到div,id为“item-”开头的元素......
  • HTML&CSS
    HTMLHTML是一门语言,所有的网页都是用HTML这门语言编写出来的HTML(HyperTextMarkupLanguage):超文本标记语言 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容 标记语言:由标签构成的语言HTML运行在浏览器上,HTML标签由浏览器......
  • Jquery操作元素的属性和css
    <buttonid="problem_chart_search"type="confirm"style="margin:03em;color:#fff;font-size:.75em;padding:2px10px;">搜索</button>//1、改属性$('#problem_chart_search').attr("disabled","disa......
  • CSS|Flex布局
    演示动图来源:GitHub一.什么是flex布局是一种专门的CSS一维(水平/垂直)布局方案位置(定性)大小(定量)怎么研究位置和大小借助坐标系(平面直角坐标系)水平轴:主轴垂直轴:交叉轴二.区分flex容器和flex项目1)什么是flex容器启用flex布局方案的元素2)如何......