如何用简单的html,css,js写出一个带有背景层的删除弹出框

虽然每次项目都是主要写后端,但是有时候前端的样式太丑了,也有点看不下去。弹出框是项目中用的比较多的,比如删除,修改或者添加什么的,都需要一个弹出框。

所以这里简单记录一下,应该如何实现。实现效果如下图:

html结构

这里我把弹出框的盒子拆分为上下结构的三块,第一块放弹出框标题和x,第二块放主体内容,第三块为底部放确定和取消按钮。

代码如下:

 <div class="modal" id="del-modal"><div class="head"><span class="title">删除框</span><span class="ico" onclick="toclose()">x</span></div><hr><div class="content">删除不可恢复,是否确定删除?</div><div class="foot"><button class="normal-bnt" >删除</button><button class="cancel-bnt" onclick="toclose()">取消</button></div></div>

表示背景层的div元素随便放在哪里都可以,我们主要设置它的css就可以

 <!-- 背景层 --><div class="overlay" id="overlay"></div>

css样式

背景层的css样式:主要要让它的position属性为fixed。表示元素相对于浏览器窗口进行定位,而不是相对于包含它的父元素。当浏览器窗口滚动时,使用position: fixed;的元素会保持在相对于窗口固定的位置,不会随着页面滚动而移动。

然后把它铺满整个窗口,并设置背景颜色为灰色透明,就可以有一个透明背景层的效果。要实现铺满则需要让它的高度和宽度都和整个窗口一样高。

.overlay {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 1000;
}

而弹出框的样式,也是需要这种固定的位置,显示在窗口的正中间,不会随页面滚动而滚动。

.modal {display: none;position: fixed;left: 50%;top: 50%;transform: translate(-50%,-50%);border-radius: 5px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);background-color: white;z-index: 1001;
}

 position: fixed;   left: 50%;top: 50%;这三项设置可以让弹出框的起始位置变成在距离窗口左边50%和距上50%的位置,但想让弹出框居中,还需要考虑弹出框自己的长和宽,加上transform: translate(-50%,-50%);就可以让弹出框本身像左移动自己宽度一半的距离,像上移动自己高度一半的距离。实现完全居中。

z-index属性:用于设置元素的堆叠顺序(z轴顺序)。可以理解为元素在z轴上的位置,决定了元素在其他元素之上还是之下。我们把弹出框的的z-index设置得比背景层大,就能让弹出框显示在背景层之上。

以上叙述的均为重要的css实现,其他元素的css样式可以根据自己的需求自定义。

js

show方法显示弹出框和背景层,给某个按钮绑定点击事件触发show方法,show方法会给弹出框和背景层加一个class为show的属性。(注意,这里引入了jquery.min.js才可以这样获取元素)

 function show() {$("#del-modal").addClass("show");$("#overlay").addClass("show");}

给x和取消按钮绑定点击事件,点击后移除弹出框和背景层为show的class.

   function toclose() {$("#del-modal").removeClass("show");$("#overlay").removeClass("show");}

整体代码

html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<link rel="stylesheet" href="弹出框.css"><body><div style="left: 10%; top: 10%; position:fixed"><button onclick="show()">点我弹出删除框</button></div><div class="modal" id="del-modal"><div class="head"><span class="title">删除框</span><span class="ico" onclick="toclose()">x</span></div><hr><div class="content">删除不可恢复,是否确定删除?</div><div class="foot"><button class="normal-bnt" >删除</button><button class="cancel-bnt" onclick="toclose()">取消</button></div></div><!-- 背景层 --><div class="overlay" id="overlay"></div>
</body></html>
<script src="../jquery.min.js"></script>
<script>function show() {$("#del-modal").addClass("show");$("#overlay").addClass("show");}function toclose() {$("#del-modal").removeClass("show");$("#overlay").removeClass("show");}
</script>

css代码:

* {margin: 0;padding: 0;box-sizing: border-box;
}/* 设置整体页面高度 */
html, body {height: 100%;
}.modal {display: none;position: fixed;left: 50%;top: 50%;transform: translate(-50%,-50%);border-radius: 5px;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);background-color: white;z-index: 1001;
}.head {padding:10px;height: 40px;width: 250px;
}.title {font-size: 16px;
}.ico {position: absolute;right: 15px;
}.ico:hover {color: #767575;cursor: pointer;
}.content {text-align: center;margin: 10px;font-size: 14px;height: 40px;line-height: 40px;
}.foot {text-align: right;padding-right: 15px;margin: 5px 0;
}.foot button {display: inline-block;height: 30px;width: 60px;cursor: pointer;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 添加阴影效果 */
}
.normal-bnt {background-color:rgb(64,158,255) ;color: white;
}.overlay {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5);z-index: 1000;
}.show {display: block;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot自动配置

项目内部配置第三方bean 第三方的bean通过配置类的bean注入&#xff0c;项目内部引用使用Import配置类的class 解耦引入的第三方配置类&#xff0c; 新建一个缓冲类加载需要引入的配置类 将需要引入第三方配置类加入Mate-inf中的factories中 加载返回可以引入第三方的bean …

软考《信息系统运行管理员》-2.3信息系统运维的外包

2.3信息系统运维的外包 信息系统运维外包的概念/模式 也称为信息系统代维。是指信息系统使用单位将全部或一部分的信息系统维护服务工作&#xff0c;按照规定的维护服务要求&#xff0c;外包委托给专业公司管理。 完全外包运维模式部分外包模式 信息系统运维外包的好处 有利…

offer150-16:数值的整数次方

题目描述:实现函数double Power(double base,int exponent),求base 的exponent次方。不得使用库函数&#xff0c;同时不需要考虑大数问题。 分析&#xff0c;题目要求实现库函数pow(),由于不需要考虑大数问题&#xff0c;不必担心溢出&#xff0c;那么就需要对输入的各种情况进…

预测未来 | Matlab实现HMM隐马尔科夫时间序列预测未来

预测未来 | Matlab实现HMM隐马尔科夫时间序列预测未来 目录 预测未来 | Matlab实现HMM隐马尔科夫时间序列预测未来效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.预测未来 | Matlab实现HMM隐马尔科夫时间序列预测未来 2.运行环境为Matlab2023b及以上&#xff1b; 3…

路径跟踪算法---Stanley Method实现

文章目录 前言一、Stanley原理介绍二、主要代码实现三、效果 前言 Stanley Controller也是基于几何追踪的轨迹跟踪控制器&#xff0c;和Pure Pursuit不同的是&#xff0c;其基于前轮中心点为参考点进行控制&#xff0c;没有预瞄距离&#xff0c;以前轮中心点与最近参考轨迹点进…

天诚长租公寓智能门锁管理解决方案

人才是区域创新发展的第一资源&#xff0c;如何解决人才的住房问题&#xff0c;让人才“流进来”、“留下来”、“融进来”&#xff0c;就需要优先安排优质人才公寓、人才优租房和公共租赁住房房源&#xff0c;并为青年人才群体提供智能化、信息化的租住体验及通行服务。 一、…

四、(1)网络爬虫入门及准备工作(爬虫及数据可视化)

四、&#xff08;1&#xff09;网络爬虫入门及准备工作&#xff08;爬虫及数据可视化&#xff09; 1&#xff0c;网络爬虫入门1.1 百度指数1.2 天眼查1.3 爬虫原理1.4 搜索引擎原理 2&#xff0c;准备工作2.1 分析爬取页面2.2 爬虫拿到的不仅是网页还是网页的源代码2.3 爬虫就是…

数据库完整性约束:确保数据准确性的关键

目录 &#x1f397;一、实体完整性 示例&#xff1a;定义主键 &#x1f38a;二、参照完整性 示例&#xff1a;定义外键 &#x1f380;三、域完整性 示例&#xff1a;定义非空和唯一约束 &#x1f381;四、用户定义的完整性 示例&#xff1a;定义自定义约束 &#x1f3…

arthas监控工具笔记(二)monior等

文章目录 monitor/watch/trace 相关monitormonitor例子monitor -c <value>monitor -m <vaule>monitor 条件表达式monitor -b monitor文档(界面描述)monitor文档(help) stack - 输出当前方法被调用的调用路径trace - 方法内部调用路径&#xff0c;并输出方法路径上的…

c++中c_str()及atof()和stod()的用法详细解析

文章目录 函数作用语法及返回值使用方法1使用方法2atof函数的用法std::stod()函数的用法小结 函数作用 功能&#xff1a;c_str() 函数可以将 const string* 类型 转化为 const char* 类型 头文件&#xff1a;#include<cstring> 为了与c语言兼容&#xff0c;在c语言…

app单页下载页源码带管理后台

新版带后台管理APP应用下载页,自动识别安卓苹果下载页&#xff0c;带管理后台&#xff0c;内置带3套App下载模板带中文模板/英文模板随时切换。 app单页下载页源码带管理后台

nginx 配置文件location块中符号的含义

nginx -t 检查配置文件语法问题 nginx -s reload 重新加载conf文件 location 块 表示精确匹配 ~ 这个符号开头表示区分大小写 * 一般和 ~ 公用, ~* 表示不区分大小写 ^ 表示正则的开始 前缀匹配&#xff1a;默认的匹配方式&#xff0c;不带修饰符&#xff0c;匹配…

自动装配在Spring框架中的原理与实现方式

自动装配在Spring框架中的原理与实现方式 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 自动装配的概念与背景 在Spring框架中&#xff0c;自动装配&#x…

告别PS修图,设计师都在用的AI抠图工具

引言 大家好&#xff01;如果你是美工或设计师&#xff0c;肯定深知Photoshop修图的繁琐和耗时。现在有一款超方便的工具&#xff0c;让你摆脱这些问题——千鹿设计助手。它不仅是个抠图工具&#xff0c;还能通过先进的AI技术&#xff0c;让抠图变得简单快速&#xff0c;让你专…

[Leetcode 128][Medium] 最长连续序列

目录 题目描述 整体思路 具体代码 题目描述 原题链接 整体思路 首先看到找连续升序排序的最长序列长度&#xff0c;想到对数组进行排序预处理。但是排序算法时间复杂度需要O(nlogn)&#xff0c;题目要求时间复杂度为O(n)。因此不能进行排序与处理 接着想到数据结构哈希表&a…

Laravel 文件操作全指南:上传与下载实践

Laravel 提供了一系列强大的工具来简化文件上传和下载的过程&#xff0c;使得在 Web 应用程序中处理文件变得更加容易和安全。本文将详细介绍如何在 Laravel 中实现文件的上传和下载&#xff0c;包括表单创建、路由设置、控制器逻辑以及安全性考虑。 文件上传基础 文件上传是…

为什么网上商店需要翻译成其他语言

网上商店不仅仅是一个可以买到商品的网站。它是一个完整的电子商务平台&#xff0c;为来自世界各地的用户提供购买所需物品的机会。但是&#xff0c;为了让这些用户舒适地使用网站&#xff0c;需要高质量的翻译和本地化。 本地化是指产品或服务适应特定文化或市场的过程。它包…

问题 P: 表达式树的值

问题 P: 表达式树的值 题目描述 读入表达式树的先序遍历字符串&#xff0c;求其值。运算符只可能是加减乘除&#xff0c;保证输入的每个子表达式树的结果都是整数值且可以用C语言的int类型表达。 输入 输入由多组测试数据组成。 每组数据包含一行字符串&#xff0c;即表达式…

Nginx详解-安装配置等

目录 一、引言 1.1 代理问题 1.2 负载均衡问题 1.3 资源优化 1.4 Nginx处理 二、Nginx概述 三、Nginx的安装 3.1 安装Nginx 3.2 Nginx的配置文件 四、Nginx的反向代理【重点】 4.1 正向代理和反向代理介绍 4.2 基于Nginx实现反向代理 4.3 关于Nginx的location路径…

CSS 文本输入框右下角的尺寸控件(三斜线:-webkit-resizer)消除,以及如何配置其样式,添加 resize 让标签元素可进行拖拽放大。

前言&#xff1a;在日常的前端开发中&#xff0c;不管是原始的和 还在在各类组件库中的文本输入框中&#xff0c;元素内容的右下角总是有一个三斜线的样式&#xff0c;本文简单了解它是什么&#xff1f;如何去控制并修改样式&#xff1f; 一、它是&#xff1f; 这三个斜线其实…