javascript 模态框实现 -- :target 伪元素实现

简介: 在前端开发中模态框(对话框、弹出框)是很常见的场景,这篇文章介绍使用 :target 伪元素的方式实现。

上一篇文章中介绍了,使用原生 dialog 的方式实现模态框,这一篇文章简单介绍使用 :target 伪元素的形式实现模态框:
微信截图_20220307003343.png

使用 :target 伪元素方式实现对话框,只能是作为对于 :target 伪元素的了解,其实实际中几乎没用,所以这里不做详细介绍,直接上代码
  1. HTML 标签
<!-- 必须使用 a 标签且 href 里 # 后面的内容,必须是下方 div 的 id -->
<a href="#targetDialog">打开对话框</a>

<div id="targetDialog" class="target-dialog">
    <div class="target-dialog-main">
        <div class="target-dialog-header">
          <span>对话框标题</span>
          <a href="#">X</a>
        </div>
        <div class="target-dialog-container">这是对话框内容</div>
    </div>
</div>
重点:必须使用 a 标签且 href 属性里 # 后面的值必须与下面的 divid 一致。
  1. CSS
.target-dialog {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 30;
  display: flex;
  justify-content: center;
  align-items: center;
}

.target-dialog-main {
  background-color: white;
  width: 300px;
  border-radius: 5px;
}

.target-dialog-header {
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.target-dialog-container {
  padding: 10px;
  border-top: 1px solid #dedede;
}
#targetDialog {
  display: none;
}
#targetDialog:target {
  display: flex;
}

就以上简单的代码就能实现简单的模态框的效果。

相关文章
|
前端开发 JavaScript
|
JavaScript 算法 前端开发
【前端算法】JS实现数字千分位格式化
JS实现数字千分位格式化的几种思路,以及它们之间的性能比较
349 1
|
存储 前端开发 算法
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
165 0
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
|
JavaScript 前端开发
利用JavaScript实现二级联动
利用JavaScript实现二级联动 要实现JavaScript二级联动效果,首先要确定需要哪些技术: 二维数组 for in循环 new Option(text,value,true,true) add(option,null) onchange() 表单事件 HTML代码: &lt;!-- &lt;input type=&quot;text&quot; id=&quot;text&quot;&gt; --&gt; 请选择省份: &lt;select name=&quot;&quot; id=&quot;provinces&quot;&gt; &lt;!-- &lt;option value=&quot;江苏省&quot;&gt;江苏省&lt;/option&gt;
|
JavaScript 前端开发
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
192 0
|
移动开发 JavaScript weex
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
255 0
|
JavaScript
JS中实现或退出全屏
JS中实现或退出全屏
178 0
|
前端开发 JavaScript
前端:JS实现双击table单元格变为可编辑状态
前端:JS实现双击table单元格变为可编辑状态
430 0
|
算法 前端开发 JavaScript
【前端算法】用JS实现快速排序
理解数组方法里面运用到的算法,splice 和 slice的区别
147 0