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日

相关文章

  • 解决vue动态下拉菜单 有数据未反应的问题

    针对“解决vue动态下拉菜单 有数据未反应的问题”的问题,下面是完整的解决攻略。 问题描述 在vue动态下拉菜单的实现中,经常会遇到数据未能反应到下拉菜单中的问题,这可能是由于数据未正确绑定或未正确更新导致的。这种情况下,我们需要对代码进行调试和修改,以确保数据正确地反应到下拉菜单中。 解决攻略 下面是解决vue动态下拉菜单数据未反应的完整攻略: 步骤一:数…

    Java 2023年6月15日
    00
  • struts2的流程和一系列相关知识代码解析

    让我来详细讲解一下”Struts2的流程和一系列相关知识代码解析”的攻略。 Struts2简介 Struts2是一款基于MVC架构的Web应用程序框架,通过以集中式配置的方式实现了控制反转、面向切面编程和拦截器机制等功能,同时提供众多插件和标签库用于快速开发Web应用程序。 Struts2的工作流程 Struts2的工作流程大致如下: 用户向服务器发送请求;…

    Java 2023年5月20日
    00
  • struts2实现多文件上传

    首先,要实现多文件上传,需要在前端使用表单,并且表单中需要添加一个 enctype=”multipart/form-data” 的属性,才能够让文件被正确解析和上传。同时,需要使用 type=”file” 的 <input> 标签来让用户选择文件。 在Struts2中,可以使用 org.apache.struts2.dispatcher.mult…

    Java 2023年5月20日
    00
  • 什么是Java压力测试?

    Java压力测试是运用在Java应用程序中的一种测试方法,它按照一定的逻辑规则并通过多种方式模拟用户的使用场景,从而测试Java应用程序在不同的负载情况下是否能正常运行、是否具有较高的稳定性和可靠性。Java压力测试可以测试Java应用程序的性能,在不同的负载情况下评估其吞吐量、响应时间、并发用户数等关键指标,为Java开发人员提供改善Java应用程序性能的…

    Java 2023年5月11日
    00
  • java启动jar包将日志打印到文本的简单操作

    下面我来为您详细讲解如何通过 Java 启动 Jar 包并将日志打印到文本的简单操作攻略。 简介 在 Java 中,我们可以通过 log4j、logback 等成熟的日志框架来记录日志。而在启动 Jar 包时,如果想将程序运行过程中产生的日志打印到文本,可以在启动命令中加入 log4j 配置文件,并指定日志文件的输出路径。 操作步骤 1. 编写 log4j …

    Java 2023年5月26日
    00
  • 深入理解Struts2国际化信息机制

    深入理解Struts2国际化信息机制 国际化机制简介 在应用程序中,我们常常需要支持多种语言环境,这涉及到信息的国际化和本地化问题。Struts2框架提供了一套国际化机制,使得开发者只需要维护一份资源文件即可支持多语言。Struts2的国际化机制主要由三部分组成:资源文件、区域设置和国际化拦截器。 资源文件 资源文件是一种特殊的属性文件,其中包含了国际化的信…

    Java 2023年5月20日
    00
  • JSP模板应用指南(上)

    JSP模板应用指南(上)完整攻略 什么是JSP模板 JSP模板即Java Server Pages的模板,是一种基于Java技术的Web开发技术。JSP模板将HTML文档和Java代码结合起来,通过JSP引擎最终生成一个可执行的Servlet程序。 JSP模板的特点 便于开发和维护 不需要额外学习其他的模板语言 实现数据和功能的封装 支持高级特性 JSP模板…

    Java 2023年6月15日
    00
  • 详解JavaEE 使用 Redis 数据库进行内容缓存和高访问负载

    详解JavaEE 使用 Redis 数据库进行内容缓存和高访问负载攻略 简介 JavaEE 是一种基于 Java 语言实现的企业级应用程序开发标准。在进行 JavaEE 企业级应用程序开发过程中,数据库缓存和高访问负载问题一直是需要解决的关键技术问题。Redis 是一种基于内存的高性能 key-value 数据库,它能够有效地解决 JavaEE 应用程序的缓…

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