📅  最后修改于: 2023-12-03 14:44:19.928000             🧑  作者: Mango
Modal是一个常用的弹出式窗口,通常用于显示重要的提示信息,或者让用户输入一些必要的数据。在HTML和CSS中,我们可以使用一些技术来创建自己的Modal。
首先,我们需要在HTML中添加Modal的结构。通常,Modal包括一个背景层、一个模态框和一些按钮。下面是一个基本的结构:
<div class="modal" id="myModal">
<div class="modal-content">
<span class="close">×</span>
<p>这是一个模态框。</p>
</div>
</div>
<button id="myBtn">打开模态框</button>
在这个结构中,外部的modal
类是Modal的背景层,而modal-content
类则是实际的Modal框。 close
类是模态框右上角的关闭按钮。
我们还需要一个按钮来触发Modal,并将其连接到Modal本身。myBtn
是ID,需要使用JavaScript,如下所示:
var modal = document.getElementById("myModal");
var btn = document.getElementById("myBtn");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
最后,在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;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
# 使用 Modal HTML 和 CSS
Modal是一个常用的弹出式窗口,通常用于显示重要的提示信息,或者让用户输入一些必要的数据。在HTML和CSS中,我们可以使用一些技术来创建自己的Modal。
## HTML 结构
首先,我们需要在HTML中添加Modal的结构。通常,Modal包括一个背景层、一个模态框和一些按钮。下面是一个基本的结构:
在这个结构中,外部的`modal`类是Modal的背景层,而`modal-content`类则是实际的Modal框。 `close`类是模态框右上角的关闭按钮。
我们还需要一个按钮来触发Modal,并将其连接到Modal本身。`myBtn`是ID,需要使用JavaScript,如下所示:
var modal = document.getElementById("myModal"); var btn = document.getElementById("myBtn"); var span = document.getElementsByClassName("close")[0]; btn.onclick = function() { modal.style.display = "block"; } span.onclick = function() { modal.style.display = "none"; } window.onclick = function(event) { if (event.target == modal) { modal.style.display = "none"; } }
## 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; }
.close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; }