Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法

Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法就需要分为如下几个步骤:

第一步:HTML结构

在HTML中定义一个弹出层的结构,代码如下:

<div id="popup-container">
  <div id="popup-content">
    <h2>弹出层标题</h2>
    <p>弹出层内容</p>
  </div>
</div>

其中 popup-container 是弹出层的容器,popup-content 是弹出层的具体内容。

第二步:CSS样式

通过CSS设置弹出层的样式,让其可以水平垂直居中并且添加半透明遮罩效果,代码如下:

#popup-container {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

#popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 20px;
  border-radius: 5px;
}

其中 popup-container 设置为 position: fixedtop: 0left: 0width: 100%height: 100% 可以让其覆盖整个屏幕,background: rgba(0, 0, 0, 0.5) 可以添加半透明黑色遮罩。

popup-content 设置为 position: absolutetop: 50%left: 50%transform: translate(-50%, -50%) 可以让其水平垂直居中,background: white 设置为白色背景,padding: 20pxborder-radius: 5px 可以添加一些样式。

第三步:JS实现弹出层

通过JS代码实现点击触发弹出层的效果,代码如下:

const btn = document.getElementById('popup-btn');
const container = document.getElementById('popup-container');

btn.addEventListener('click', function() {
  container.style.display = 'block';
});

其中 popup-btn 是触发弹出层的按钮,popup-container 是弹出层的容器,通过 addEventListener 监听按钮的点击事件,然后将 container 样式的 display 设置为 block 就可以显示弹出层了。

示例

示例一

<!DOCTYPE html>
<html>
<head>
  <title>弹出层示例一</title>
  <style>
    #popup-container {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      z-index: 9999;
    }

    #popup-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: white;
      padding: 20px;
      border-radius: 5px;
    }

    #popup-btn {
      display: block;
      width: 150px;
      height: 40px;
      background: #2ecc71;
      color: white;
      font-size: 16px;
      text-align: center;
      line-height: 40px;
      border-radius: 5px;
      margin: 50px auto 0;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <button id="popup-btn">点击弹出层</button>
  <div id="popup-container">
    <div id="popup-content">
      <h2>这是一个弹出层</h2>
      <p>你可以在这里放置内容。</p>
      <button id="popup-close-btn">关闭弹出层</button>
    </div>
  </div>
  <script>
    const btn = document.getElementById('popup-btn');
    const container = document.getElementById('popup-container');
    const closeBtn = document.getElementById('popup-close-btn');
    btn.addEventListener('click', function() {
      container.style.display = 'block';
    });
    closeBtn.addEventListener('click', function() {
      container.style.display = 'none';
    });
  </script>
</body>
</html>

示例二

<!DOCTYPE html>
<html>
<head>
  <title>弹出层示例二</title>
  <style>
    #popup-container {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      z-index: 9999;
    }

    #popup-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: white;
      padding: 20px;
      border-radius: 5px;
    }

    #popup-btn {
      display: block;
      width: 150px;
      height: 40px;
      background: #3498db;
      color: white;
      font-size: 16px;
      text-align: center;
      line-height: 40px;
      border-radius: 5px;
      margin: 50px auto 0;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <button id="popup-btn">点击弹出层</button>
  <div id="popup-container">
    <div id="popup-content">
      <h2>这是另一个弹出层</h2>
      <p>你可以在这里放置更多内容。</p>
      <button id="popup-close-btn">关闭弹出层</button>
    </div>
  </div>
  <script>
    const btn = document.getElementById('popup-btn');
    const container = document.getElementById('popup-container');
    const closeBtn = document.getElementById('popup-close-btn');
    btn.addEventListener('click', function() {
      container.style.display = 'block';
    });
    closeBtn.addEventListener('click', function() {
      container.style.display = 'none';
    });
  </script>
</body>
</html>

以上就是制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法及示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS 实现元素较宽不能被完全展示时将其隐藏的方法

    实现元素较宽不能被完全展示时将其隐藏的方法有很多种,其中被广泛应用的方式是利用 CSS 的 overflow 属性。 具体的实现方法如下: 使用 overflow 属性。 在 CSS 中,可以通过设置元素的 overflow 属性来实现元素较宽不能被完全展示时将其隐藏的功能。在 overflow 中,常用的取值有 hidden、scroll、auto 等。其…

    css 2023年6月10日
    00
  • python playwright之元素定位示例详解

    首先我们来讲一下“python playwright之元素定位示例详解”的完整攻略。该攻略主要介绍如何使用Python语言中的Playwright框架来进行网页元素定位的操作。在该攻略中,我们将包含以下几个部分的内容: 介绍 Playwright 框架的概述及基本用法; 使用 Playwright 进行元素定位的方式及示例; 通过示例来说明 Playwrig…

    css 2023年6月9日
    00
  • jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】

    下面为您提供详细的jQuery实现鼠标滑过商品小图片上显示对应大图片的攻略: 1. 准备工作 首先要做的是准备好HTML结构,需要有一个商品小图片的容器,一个商品大图片的容器和多张商品小图片的图片元素。 HTML结构示例如下: <div class="small-img-container"> <img src=&quo…

    css 2023年6月11日
    00
  • CSS3贝塞尔曲线示例:创建链接悬停动画效果

    下面是对“CSS3贝塞尔曲线示例:创建链接悬停动画效果”的完整攻略: 1. 简介 在网页设计中,创造出一些令人印象深刻的动画效果可以提高用户体验,也可以让网站变得更加吸引人。在这方面,CSS3贝塞尔曲线可以提供无限的可能性,可以实现各种动画的变化。本篇攻略介绍如何使用CSS3贝塞尔曲线来创建一个链接悬停动画效果。 2. HTML 在HTML文件中,我们需要添…

    css 2023年6月10日
    00
  • jquery实现不同大小浏览器使用不同的css样式表的方法

    jQuery是JavaScript库之一,其提供了灵活的方法来帮助我们解决浏览器兼容性问题。如果我们要根据不同大小的浏览器使用不同的css样式表,可以按照以下步骤通过jQuery实现。 创建两个不同的CSS样式表创建两个不同的CSS样式表,一个用于大屏幕(例如:电脑端),另一个用于小屏幕(例如:手机端)。这里我们创建两个CSS样式表,并将它们分别命名为lar…

    css 2023年6月9日
    00
  • Js+CSS 文字渐隐渐现显示

    当我们想要让网站中的一段文字,在页面加载时进行渐隐渐现的显示效果时,可以使用JS+CSS结合的方法来实现。下面我将详细讲解一下这个完整的攻略。 步骤一:HTML结构 首先,我们需要在HTML文件中编写出需要添加这个特效的文字所在的元素,比如: <div class="fade"> <h2>这里是需要渐隐渐现显示的文…

    css 2023年6月10日
    00
  • 常用CSS缩写语法总结

    下面是“常用CSS缩写语法总结”的完整攻略: 常用CSS缩写语法总结 在编写 CSS 样式时,经常会使用到缩写语法,简化书写,并且提高了代码的可读性。本文总结了常用的 CSS 缩写语法,帮助大家更快速地编写 CSS 样式。 缩写语法说明 基本缩写语法 基本缩写语法用于设置一个样式的属性。基本语法的形式为: 属性名称:属性值; 简写缩写语法 简写缩写语法用于同…

    css 2023年6月9日
    00
  • CSS3按钮鼠标悬浮实现光圈效果源码

    下面为你详细讲解如何实现CSS3按钮鼠标悬浮实现光圈效果。 简介 在网页设计中,鼠标悬浮效果是十分重要的一环,能够显著提升网站的交互性和美观性。光圈效果是一种比较炫酷的鼠标悬浮效果,在CSS3中我们可以通过动画实现该效果。 实现步骤 HTML结构 <button class="btn btn-effect"> <span…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部