评论

小程序模态对话框的实现详解

小程序模态对话框的实现详解

模态对话框作为日常交互中最常见的一种形式,官方也提供了基本的模态对话框效果,那么是不是有必要再造个轮子呢,

我觉得是很有必要的

因为官方提供的模态对话框非常弱,存在很多限制,今天实现了一个模态对话框效果,具体代码参考了博客园的一篇文章


基本的方法是,通过设置 z-index,用一个占满全部显示区域的覆盖层 DIV 放在主要内容前面,再将模态窗口 DIV 放在覆盖层前面。为了让用户知道主窗口的内容暂时不可使用,可以对覆盖层 DIV 设置半透明的灰色背景。

1

<!DOCTYPE html>
<html><head>  
<style type='text/css'>
#overlay {
  visibility: visible; /*hidden;*/
  position: absolute;
  left: 0px;
  top: 0px;
  width:100%;
  height:100%;
  z-index: 1000;
  background: gray;
  zoom: 1;
  filter: alpha(opacity=80);
  opacity: 0.8;
}
#container {
  position: absolute;
  left: 0px;
  top: 0px;
  width:100%;
  height:100%;
  z-index: 2000;
  text-align: center;
}
#dialog {
  width: 480px;
  height: 300px;
  margin: 100px auto;
  border: 1px solid #000;
  padding: 15px;
  text-align: center;
  background: white;
}
</style>
</head><body>
<div id="main">Main Content</div>
<div id="overlay"></div>
<div id="container">
    <div id="dialog">Hello Modal Dialog!</div>
</div>
</body></html>

1

overlay 和 container 这两个 DIV 也可以合并成一个,但由于透明元素的继承性,只能使用半透明的 PNG 图片作为背景了。

最后一次编辑于  2021-01-01  
点赞 0
收藏
评论
登录 后发表内容