javascript+html5+css3自定义弹出窗口效果

"javascript+html5+css3自定义弹出窗口效果"主要可以通过以下步骤实现:

第一步:HTML部分

在HTML代码中,我们需要首先定义一个触发弹出窗口的按钮,用于触发弹出窗口的开启。同时我们需要在代码中定义一个 <div> 标签作为弹出窗口的容器。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>自定义弹出窗口效果</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 弹出窗口背景层样式 */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 1000;
            display: none;
        }
        /* 弹出窗口样式 */
        .modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            padding: 20px;
            z-index: 1001;
            display: none;
        }
    </style>
</head>
<body>
    <button id="open-modal-btn">打开弹出窗口</button>
    <div class="modal-overlay"></div>
    <div class="modal">
        <h2>这里是弹出窗口</h2>
        <button id="close-modal-btn">关闭弹出窗口</button>
    </div>
</body>
</html>

第二步:CSS部分

在CSS部分实现弹出窗口的样式,包括弹出窗口的位置、宽高、背景色等。

示例代码如下:

/* 弹出窗口背景层样式 */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
}

/* 弹出窗口样式 */
.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    z-index: 1001;
    display: none;
}

第三步:Javascript部分

在Javascript中实现弹出窗口的逻辑。通过添加class实现弹出窗口的显示和隐藏。

示例代码如下:

// 取得打开和关闭按钮
let openModalBtn = document.getElementById("open-modal-btn");
let closeModalBtn = document.getElementById("close-modal-btn");

// 取得模态框和模态框背景
let modal = document.querySelector(".modal");
let modalOverlay = document.querySelector(".modal-overlay");

// 打开模态框
openModalBtn.onclick = function () {
    modal.classList.add("show-modal");
    modalOverlay.classList.add("show-modal-overlay");
};

// 关闭模态框
closeModalBtn.onclick = function () {
    modal.classList.remove("show-modal");
    modalOverlay.classList.remove("show-modal-overlay");
};

示例说明一:

下面是一个点击按钮弹出登录框的示例:

<!DOCTYPE html>
<html>
<head>
    <title>自定义弹出窗口效果</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 弹出窗口背景层样式 */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 1000;
            display: none;
        }
        /* 弹出窗口样式 */
        .modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            padding: 20px;
            z-index: 1001;
            display: none;
        }
        /* 登录框表单样式 */
        .modal-form {
            display: flex;
            flex-direction: column;
        }
        .modal-form label {
            margin-top: 10px;
        }
        .modal-form input {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <button id="open-modal-btn">打开登录框</button>
    <div class="modal-overlay"></div>
    <div class="modal">
        <h2>登录框</h2>
        <form class="modal-form" action="">
            <label for="user-name">用户名:</label>
            <input type="text" id="user-name">
            <label for="user-pwd">密码:</label>
            <input type="password" id="user-pwd">
            <button type="submit">登录</button>
        </form>
        <button id="close-modal-btn">关闭登录框</button>
    </div>
    <script>
        // 取得打开和关闭按钮
        let openModalBtn = document.getElementById("open-modal-btn");
        let closeModalBtn = document.getElementById("close-modal-btn");

        // 取得模态框和模态框背景
        let modal = document.querySelector(".modal");
        let modalOverlay = document.querySelector(".modal-overlay");

        // 打开模态框
        openModalBtn.onclick = function () {
            modal.classList.add("show-modal");
            modalOverlay.classList.add("show-modal-overlay");
        };

        // 关闭模态框
        closeModalBtn.onclick = function () {
            modal.classList.remove("show-modal");
            modalOverlay.classList.remove("show-modal-overlay");
        };
    </script>
</body>
</html>

示例说明二:

下面是一个弹出图片预览框的示例:

<!DOCTYPE html>
<html>
<head>
    <title>自定义弹出窗口效果</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        /* 弹出窗口背景层样式 */
        .modal-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 1000;
            display: none;
        }
        /* 弹出窗口样式 */
        .modal {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #fff;
            padding: 20px;
            z-index: 1001;
            display: none;
        }
        /* 图片样式 */
        .modal-img {
            max-width: 100%;
            max-height: 100%;
        }
    </style>
</head>
<body>
    <img src="./image.jpg" id="open-modal-btn">
    <div class="modal-overlay"></div>
    <div class="modal">
        <img class="modal-img" src="./image.jpg">
        <button id="close-modal-btn">关闭预览框</button>
    </div>
    <script>
        // 取得打开和关闭按钮
        let openModalBtn = document.getElementById("open-modal-btn");
        let closeModalBtn = document.getElementById("close-modal-btn");

        // 取得模态框和模态框背景
        let modal = document.querySelector(".modal");
        let modalOverlay = document.querySelector(".modal-overlay");
        let modalImg = document.querySelector(".modal-img");

        // 打开模态框
        openModalBtn.onclick = function () {
            modal.classList.add("show-modal");
            modalOverlay.classList.add("show-modal-overlay");
            modalImg.setAttribute("src", openModalBtn.getAttribute("src"));
        };

        // 关闭模态框
        closeModalBtn.onclick = function () {
            modal.classList.remove("show-modal");
            modalOverlay.classList.remove("show-modal-overlay");
        };
    </script>
</body>
</html>

以上就是“javascript+html5+css3自定义弹出窗口效果”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript+html5+css3自定义弹出窗口效果 - Python技术站

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

相关文章

  • java中的常用集合类整理

    Java中的常用集合类整理 1. 概述 Java中的集合类是一组允许用户管理对象的实用类,它们能够存储和操作对象,并且提供了很多的现成方法,用户无需去实现在操作集合之前需要编写的部分代码,从而提高了开发效率。Java中的集合类分为List、Set、Map三种类型,每种类型都有其擅长解决的问题,以下详细介绍这些常用的集合类。 2. List List是一种有序…

    Java 2023年5月26日
    00
  • java 对称加密算法实现详解

    Java 对称加密算法实现详解 什么是对称加密算法 对称加密算法是一种使用相同密钥进行加密和解密的加密方法。通俗的说,就是发送者和接收者用相同的“钥匙”来加密和解密邮件,数据或者文件。常见的对称加密算法有DES、AES、RC4等。 Java 中对称加密算法的实现 Java 支持对称加密算法有DES、AES、RC4等,这里以DES算法为例进行说明。 1. 密钥…

    Java 2023年5月19日
    00
  • Java中IO流解析及代码实例

    Java中IO流解析及代码实例 什么是IO流? 在计算机的世界里,I/O就是指input/output,表示输入和输出,是计算机和外部世界交互的一种方式。 Java中IO流,就是指为了方便对这种输入输出进行操作而引入了一些类和接口,通常分为字节流和字符流两种类型。 字节流和字符流的区别在于数据的单位不同:字节流以字节为单位进行读写,可以用于读写所有类型的文件…

    Java 2023年5月23日
    00
  • Spring Data JPA注解Entity使用示例详解

    Spring Data JPA注解Entity使用示例详解 简介 Spring Data JPA为基于JPA编程提供了一种简单的方法。此模块的主要目标是使基于Spring的应用程序更容易使用JPA,并使使用JPA与Spring的整合更平滑。在这篇文章中,我们将会介绍Spring Data JPA注解Entity的使用方法。 Entity概述 @Entity注…

    Java 2023年5月20日
    00
  • Java 实战项目锤炼之IT设备固定资产管理系统的实现流程

    Java 实战项目锤炼之IT设备固定资产管理系统的实现流程 在这个项目中,我们将用Java语言实现一个IT设备固定资产管理系统,该系统将允许用户管理公司的固定资产,包括计算机、服务器、打印机等。具体的实现流程如下: 1. 确定需求和功能 在开发任何一个软件系统之前,我们必须针对用户的需求和要求进行调研和分析,明确系统所需要实现的功能,以便我们能够有针对性的进…

    Java 2023年5月23日
    00
  • 利用Java代码实现区块链技术

    利用Java代码实现区块链技术的攻略 什么是区块链? 区块链是一种去中心化的分布式数据库技术,它以区块为基本单位,每个区块包含了一些交易数据和前一个区块的哈希值。 实现区块链的基本原理 实现区块链至少要考虑以下几个方面: 加密方法 区块结构 工作量证明 网络通信 加密方法 区块链技术中,加密方法包括了哈希算法和公钥加密算法。其中,哈希算法是对区块数据的摘要算…

    Java 2023年5月19日
    00
  • Java使用IntelliJ IDEA连接MySQL的详细教程

    下面我会给出Java使用IntelliJ IDEA连接MySQL的详细教程: 1. 下载安装MySQL 首先你需要下载并安装MySQL数据库,可以到官网上下载最新的稳版本,安装过程中需要自己设置root账户的密码。 2. 下载安装IntelliJ IDEA 接下来你需要下载并安装IntelliJ IDEA,可以到官网上下载最新的Community版本,社区版…

    Java 2023年5月20日
    00
  • Java实现解析.xlsb文件的示例代码

    Java实现解析.xlsb文件的示例代码 什么是.xlsb文件格式 .xlsb文件格式是Excel二进制工作簿(Excel Binary Workbook)的缩写,它是一种二进制格式的电子表格文件。与其他的Excel文件格式相比,.xlsb文件具有更高的性能和更小的文件大小。然而,由于其二进制格式的特性,直接解析.xlsb文件需要一些特殊的技巧和工具。 示例…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部