📜  modal 弹出 html css - Html (1)

📅  最后修改于: 2023-12-03 15:32:55.348000             🧑  作者: Mango

模态框弹出(Modal)HTML CSS

Modal(模态框)是一种非常流行的前端设计元素,它用于向用户显示信息或提示,并阻止用户与页面的其余部分交互。在本文中,我们将介绍如何使用HTML,CSS和JavaScript来创建模态框。

初始化 HTML 结构

为了初始化模态框,我们需要构建两个元素:模态框本身和触发模态框的按钮。

<button id="myBtn">打开模态框</button>

<!-- 模态框 -->
<div id="myModal" class="modal">
  <!-- 模态框内容 -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>一些文本</p>
  </div>
</div>

代码片段说明:

  • 相关类名的样式需在 CSS 中定义
  • 模态框是作为一个 <div> 元素添加到文档中的
  • 模态框内容是另一个 <div> 元素
  • 最后一个元素是关闭按钮,用于关闭模态框
添加样式

在CSS中定义相关样式。如何将modal显示为带有背景蒙版和居中的弹出窗口。以下是一个基本的样式规则。

/* 隐藏模态框 */
.modal {
  display: none; 
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0, 0, 0, 0.4); 
}

.modal-content {
  background-color: #fefefe;
  margin: 15% auto; 
  padding: 20px;
  border: 1px solid #888;
  width: 80%; 
}

.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

代码片段说明:

  • position: fixed 确保模态框在用户滚动页面和调整窗口大小时保持在固定位置。
  • z-index 定义元素的层叠顺序,1 用于确保模态框位于页面上的所有其他元素之上。
  • display: none 初始时不可见。
  • background-color: rgba(0, 0, 0, 0.4); 定义背景蒙版颜色和透明度。
  • margin: 15% auto; 将模态框的顶部与视图顶部之间的距离设置为视图高度的15%,将其左右居中。
触发模态框

当单击按钮时,我们需要使用 JavaScript 显示模态框。

// 根据 id 获取按钮和模态框
var btn = document.getElementById("myBtn");
var modal = document.getElementById("myModal");

// 获取关闭按钮
var span = document.getElementsByClassName("close")[0];

// 单击按钮时显示模态框
btn.onclick = function() {
  modal.style.display = "block";
}

// 单击关闭图标时,隐藏模态框
span.onclick = function() {
  modal.style.display = "none";
}

代码片段说明:

  • 使用 document.getElementById 获取按钮和模态框元素。
  • 使用 getElementsByClassName 获取关闭按钮。
  • 当单击按钮时,添加事件监听器以将模态框显示为块级元素。
  • 当单击关闭图标时,添加事件监听器以将模态框隐藏。
完整代码

以下是完整的 HTML+CSS+JS 代码:

<!DOCTYPE html>
<html>
<head>
<style>
/* 隐藏模态框 */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

/* 模态框内容 */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* 关闭按钮 */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

/* 鼠标悬浮在关闭按钮上时设置颜色 */
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
</style>
</head>
<body>

<!-- 按钮触发模态框 -->
<button id="myBtn">打开模态框</button>

<!-- 模态框 -->
<div id="myModal" class="modal">
  <!-- 模态框内容 -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>一些文本</p>
  </div>
</div>

<script>
// 根据 id 获取按钮和模态框
var btn = document.getElementById("myBtn");
var modal = document.getElementById("myModal");

// 获取关闭按钮
var span = document.getElementsByClassName("close")[0];

// 单击按钮时显示模态框
btn.onclick = function() {
  modal.style.display = "block";
}

// 单击关闭图标时,隐藏模态框
span.onclick = function() {
  modal.style.display = "none";
}
</script>

</body>
</html>

以上代码块返回markdown格式如下:

# 模态框弹出(Modal)HTML CSS

Modal(模态框)是一种非常流行的前端设计元素,它用于向用户显示信息或提示,并阻止用户与页面的其余部分交互。在本文中,我们将介绍如何使用HTML,CSS和JavaScript来创建模态框。

## 初始化 HTML 结构

为了初始化模态框,我们需要构建两个元素:模态框本身和触发模态框的按钮。

```html
<button id="myBtn">打开模态框</button>

<!-- 模态框 -->
<div id="myModal" class="modal">
  <!-- 模态框内容 -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>一些文本</p>
  </div>
</div>

代码片段说明:

  • 相关类名的样式需在 CSS 中定义
  • 模态框是作为一个
    元素添加到文档中的
  • 模态框内容是另一个
    元素
  • 最后一个元素是关闭按钮,用于关闭模态框
添加样式

在CSS中定义相关样式。如何将modal显示为带有背景蒙版和居中的弹出窗口。以下是一个基本的样式规则。

/* 隐藏模态框 */
.modal {
  display: none; 
  position: fixed; 
  z-index: 1; 
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto; 
  background-color: rgba(0, 0, 0, 0.4); 
}

.modal-content {
  background-color: #fefefe;
  margin: 15% auto; 
  padding: 20px;
  border: 1px solid #888;
  width: 80%; 
}

.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

代码片段说明:

  • position: fixed 确保模态框在用户滚动页面和调整窗口大小时保持在固定位置。
  • z-index 定义元素的层叠顺序,1 用于确保模态框位于页面上的所有其他元素之上。
  • display: none 初始时不可见。
  • background-color: rgba(0, 0, 0, 0.4); 定义背景蒙版颜色和透明度。
  • margin: 15% auto; 将模态框的顶部与视图顶部之间的距离设置为视图高度的15%,将其左右居中。
触发模态框

当单击按钮时,我们需要使用 JavaScript 显示模态框。

// 根据 id 获取按钮和模态框
var btn = document.getElementById("myBtn");
var modal = document.getElementById("myModal");

// 获取关闭按钮
var span = document.getElementsByClassName("close")[0];

// 单击按钮时显示模态框
btn.onclick = function() {
  modal.style.display = "block";
}

// 单击关闭图标时,隐藏模态框
span.onclick = function() {
  modal.style.display = "none";
}

代码片段说明:

  • 使用 document.getElementById 获取按钮和模态框元素。
  • 使用 getElementsByClassName 获取关闭按钮。
  • 当单击按钮时,添加事件监听器以将模态框显示为块级元素。
  • 当单击关闭图标时,添加事件监听器以将模态框隐藏。
完整代码

以下是完整的 HTML+CSS+JS 代码:

<!DOCTYPE html>
<html>
<head>
<style>
/* 隐藏模态框 */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.4);
}

/* 模态框内容 */
.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

/* 关闭按钮 */
.close {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

/* 鼠标悬浮在关闭按钮上时设置颜色 */
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
}
</style>
</head>
<body>

<!-- 按钮触发模态框 -->
<button id="myBtn">打开模态框</button>

<!-- 模态框 -->
<div id="myModal" class="modal">
  <!-- 模态框内容 -->
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>一些文本</p>
  </div>
</div>

<script>
// 根据 id 获取按钮和模态框
var btn = document.getElementById("myBtn");
var modal = document.getElementById("myModal");

// 获取关闭按钮
var span = document.getElementsByClassName("close")[0];

// 单击按钮时显示模态框
btn.onclick = function() {
  modal.style.display = "block";
}

// 单击关闭图标时,隐藏模态框
span.onclick = function() {
  modal.style.display = "none";
}
</script>

</body>
</html>

以上代码块返回markdown格式,其中包含完整的 HTML,CSS 和 JavaScript 代码,用于创建一个基本的模态框。