css点击遮罩层效果

2023-12-30 10:30:07 举报文章

CSS中的点击遮罩层效果,是指当用户点击一个弹出层之外的区域时,会自动关闭该弹出层。这种效果非常实用,可以保证页面在弹出层出现时,用户仍可以方便地进行其他操作,而不需要担心弹出层遮挡了其他内容。下面我们来一起看看如何制作这种效果。

/* CSS代码 */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 999;
  display: none;
}
.modal.active {
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-content {
  width: 500px;
  height: 300px;
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
}
 

在上面的代码中,我们定义了一个名为“modal”的类,该类用于表示一个遮罩层,当该层被激活时,会出现在页面中央。我们通过设置遮罩层的背景颜色为半透明黑色,来制作出一种模糊的效果。同时,为了确保弹出层能够始终停留在最顶层,我们给遮罩层设置了一个非常高的z-index值。

在“modal”类中,我们设置了一个display属性为none,这意味着遮罩层在一开始是隐藏的。当需要弹出模态框时,我们可以通过为其添加一个名为“active”的类,来让其显示出来。我们还为弹出层设置了一个类叫做“modal-content”,用来控制弹出层的样式。

/* JS代码 */
let modal = document.querySelector('.modal');
let modalContent = document.querySelector('.modal-content');
window.onclick = function(event) {
  if (event.target == modal) {
  
  modal.classList.remove('active');
  
  modalContent.classList.remove('active');
}
}
 

上面是为弹出层添加点击遮罩层效果的JavaScript代码。我们为window对象绑定了一个onclick事件,当用户点击页面时,该事件就会触发。在事件的处理过程中,我们判断所点击的目标元素是否为“modal”类,如果是,就将其隐藏,并移除“modal-content”类,这样就能够关闭弹出层了。

以上就是制作CSS点击遮罩层效果的详细过程。通过本文的介绍,相信大家已经对如何应用该效果有了一定的了解。如果您在使用过程中遇到了问题,欢迎在评论区留言,我们将为您提供帮助。

如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!