码迷,mamicode.com
首页 > Web开发 > 详细

css-dialog样式实现弹框蒙层全屏无需JS计算高度兼容IE7

时间:2016-08-22 12:29:33      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>css-dialog</title>
  <script src="http://cdn.bootcss.com/jquery/1.9.1/jquery.min.js"></script>

</head>
<style type="text/css">
.dialog-layer{
  position: fixed;
  left:0;
  top:0;
  width:100%;
  height: 100%;
  min-height: 100%;
  min-width: 100%;
  margin:0 auto;
  text-align:center;
  z-index: 90000;
}

.dialog-cover{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background-color:#000;
    opacity: 0.3;
    filter:alpha(opacity=30);
}

.dialog-cont-wrap{
  position: absolute;
  display: block;
  width:100%;
  top:50%;
  left:0;
  margin:0 auto;
  margin-top:-160px;
  color:#333;
  text-align: center;
 
}

.dialog-cont-inner{
  position: relative;
  height: 320px;
  text-align: left;
  width:500px;
  margin:0 auto;
  background-color: #fff;
  border:solid 1px red;
  overflow: hidden;
  padding:0 15px;
}


.tit-wrap h3{
  margin:0 auto;
  height:30px;
  line-height: 30px;
}

.close-btn {
  position: absolute;
  right: 0;
  top:0;
  display: block;
  width:30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  text-decoration: none;
 
}

</style>

<body>
 
<h3 ><a id="open" href="javascript:void();"> 打开弹框按钮 </a></h3>


<div id="dialog-layer-wrap" class="dialog-layer" style="display:none;">
  <div class="dialog-cover"></div>
  <div class="dialog-cont-wrap">
    <div class="dialog-cont-inner">
      <a id="dialog-close-btn" class="close-btn" href="javascript:void(0)">X</a>
      <div class="tit-wrap"><h3>标题在这里</h3></div>
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹框样式</li>
        <li>无需JS 计算 实现对话弹框 上下左右居中显示 由CSS样式实现 兼容到IE7</li>
        <li>1.弹框自带蒙层,蒙层高度铺满全屏 </li>
        <li>2.对话框内容 自动上下左右居中</li>
        <li>3.垂直居中由{top:50%; margin-top:-100px} margint-top:弹框高度一半 负值 实现</li>
        <li>适用于 弹框内容基本固定,或者高度变化小的场景</li>
        <li>缺点:不能适应 弹框高度动态变化情况。例如:弹框高度由 200px 到 400px 无法实现垂直居中</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
      </ul>
    </div>
  </div>
</div>


<script type="text/javascript">
  (function (window) {

      window.onload = function () {

          var bd = document.getElementsByTagName(‘body‘)[0] || document;
          bd.onclick = function (event) {
            event && event.preventDefault && event.preventDefault()
            event = event || window.event;
            var ele = event.target || event.srcElement;
            var dis;
            if(ele.id == "open") {
              dis = ‘block‘;
            } else if ( ele.id == "dialog-close-btn" ) {
              dis = ‘none‘;
            }

            document.getElementById(‘dialog-layer-wrap‘).style.display = dis;
            //return false;
          };

      };

  })(window);

</script>


<!-- ************************************************************************************************************************* -->
<br/><br/>

    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>

    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>

    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>

    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>
    <div >
      <ul class="ul" id="ul">
        <li data-role="btn">测试弹中弹</li>
        <li>我是页面静态内容啊qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq</li>
        <li>1111111111111111</li>
        <li>1111111111111111</li>
      </ul>
    </div>


</body>
</html>

css-dialog样式实现弹框蒙层全屏无需JS计算高度兼容IE7

标签:

原文地址:http://www.cnblogs.com/liufl/p/5794905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!