JS与CSS实现全屏半透明遮罩及弹窗功能

作者:微光

时间:2026-10-28

浏览:139

本文介绍如何使用JavaScript结合CSS实现全屏灰黑色半透明遮罩效果。通过绝对定位创建覆盖层,利用opacity属性控制透明度,并配合z-index层级管理确保内容可见。示例代码展示了点击按钮显示遮罩与登录框,以及关闭按钮隐藏元素的完整交互逻辑,适用于Web前端开发中的模态窗口场景。

文章目录

JS与CSS实现全屏半透明遮罩及弹窗功能

本文通过具体实例,详细讲解利用JavaScript和CSS技术实现全屏灰黑色半透明遮罩效果的方法,旨在为读者提供可参考的代码方案。

许多网站在特定操作后会展示灰黑色半透明遮罩,并在其上呈现指定内容,如登录框。本文将逐步解析实现该效果的具体步骤,并附带完整代码示例。

具体实现代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.jb51.net/" />
<title>CSS如何实现弹出一个全屏灰黑色透明遮罩效果-本站</title>
<style type="text/css">
* 
{ 
margin:0px;
padding:0px;
} 
.zhezhao
{ 
width:100%;
height:100%;
background-color:#000;
filter:alpha(opacity=50);
-moz-opacity:0.5;
opacity:0.5;
position:absolute;
left:0px;
top:0px;
display:none;
z-index:1000;
} 
.login
{ 
width:280px;
height:180px;
position:absolute;
top:200px;
left:50%;
background-color:#000;
margin-left:-140px;
display:none;
z-index:1500;
} 
.content
{ 
margin-top:50px;
color:red;
line-height:200px;
height:200px;
text-align:center;
} 
</style>
<script type="text/javascript">
window.onload=function()
{ 
var zhezhao=document.getElementById("zhezhao");
var login=document.getElementById("login");
var bt=document.getElementById("bt");
var btclose=document.getElementById("btclose");
  
bt.onclick=function()
 { 
zhezhao.style.display="block";
login.style.display="block";
 } 
btclose.onclick=function()
 { 
zhezhao.style.display="none";
login.style.display="none";
 } 
} 
</script>
</head>
<body>
<div class="zhezhao" id="zhezhao"></div>
<div class="login" id="login"><button id="btclose">点击关闭</button></div>
<div class="content">本站欢迎您,<button id="bt">点击弹出遮罩</button></div>
</body>
</html>

上述代码实现了基本的遮罩功能:点击弹出按钮后,遮罩层与内容层显示;点击关闭按钮后,两者隐藏。以下对实现原理进行说明。

实现原理说明

实现原理如下:

首先创建一个全屏div,采用绝对定位使其脱离文档流,避免影响其他元素布局,并设置半透明状态(透明度可自定义)。接着创建login元素,同样使用绝对定位,且其z-index属性值需大于全屏div,以确保内容不被遮罩完全覆盖。默认状态下,这两个div的display属性均为none。当点击对应按钮时,通过JavaScript更改display属性值以控制显示或隐藏。

建议:尽可能手写代码,这有助于提高学习效率和理解深度。

希望本文所述内容对大家的web程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章