摘要:纯CSS,利用:target 不使用bootstrop
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>ModalBox-Tutorial</title>
<style>
/* 模态框初始状态 */
.modalbox {
font-family: Arial, Helvetica, sans-serif;
/* 通过 position 让遮罩层撑满整个屏幕 */
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
/* 遮罩层背景色为黑色 */
background: #000;
/* 给 z-index 一个过大的值,确保遮罩层”真的遮盖住了“模态框背后的元素 */
z-index: 99999;
/* 设置 opacity 为 0,用于隐藏模态框 */
opacity: 0;
/* 一些过渡效果 */
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
/* pointer-events 鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西 */
/* 请参阅:https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events */
pointer-events: none;
}
/* 模态框显示状态 */
.modalbox:target {
/* 不透明为 0.8 */
opacity: 0.8;
/* 与 pointer-events 属性未指定时的表现效果相同 */
/* 请参阅:https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events */
pointer-events: auto;
}
/* 模态框内容,你也可以自定义 */
.modalbox-dialog {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
}
</style>
</head>
<body>
<!-- 1. 模态框的显示按钮,通常用于显示指定的模态框 -->
<a href="#my-modal-box">显示模态框</a>
<!-- 2. 模态框容器的根节点,它通常会显示为一个透明的遮罩覆盖全屏 -->
<div id="my-modal-box" class="modalbox">
<!-- 3. 模态框内容的跟节点,它通常是一个非透明的容器,用于展示具体内容 -->
<div class="modalbox-dialog">
<!-- 4. 模态框的关闭按钮,通常用于关闭模态框 -->
<a href="#close" title="关闭" class="modalbox-close-btn">X</a>
<!-- 5. 你的自定义内容,纯文字、表单、提示信息等 -->
<h2>ModalBox Tutorial</h2>
<p>这是一个使用 HTML5 和 CSS3 构建的模态框</p>
<p>你可以将它加入到 Web APP 中的许多交互中,如:登录/注册、操作反馈、提示信息等。</p>
</div>
</div>
</body>
</html>