您当前的位置是:首页-CSS+DIV教程

DivCSS+JavaScript实现 始终居中的半透明弹出层

【发表于】:2011/2/21 13:33:00  已被访问:390次
DivCSS+JavaScript实现弹出一个始终居中的半透明层,它可以自动适应浏览器窗口大小,拖动IE滚动条它仍然居中,而且还可以改变它的透明度,和大站的效果是一样的。  
  先看HTML代码: 
<div id="popDiv" class="mydiv" style="display:none;">kuzau.com欢迎你!<br/>Q号:987815403<br/><a href="Javascript:closeDiv()">关闭窗口</a></div><div id="bg" class="bg" style="display:none;"></div><a href="Javascript:showDiv()">点击这里弹出层</a><iframe id=’popIframe’ class=’popIframe’ frameborder=’0’ ></iframe>

再编写CSS样式: 
html,body {height:100%; margin:0px; font-size:12px;}.mydiv {background-color: #FFCC66;border: 1px solid #f00;text-align: center;line-height: 40px;font-size: 12px;font-weight: bold;z-index:999;width: 300px;height: 120px;left:50%;top:50%;margin-left:-150px!important;/*FF IE7 该值为本身宽的一半 */margin-top:-60px!important;/*FF IE7 该值为本身高的一半*/margin-top:0px;position:fixed!important;/* FF IE7*/position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&            document.compatMode==’CSS1Compat’) ?            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}.bg,.popIframe {background-color: #666; display:none;width: 100%;height: 100%;left:0;top:0;/*FF IE7*/filter:alpha(opacity=50);/*IE*/opacity:0.5;/*FF*/z-index:1;position:fixed!important;/*FF IE7*/position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&            document.compatMode==’CSS1Compat’) ?            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);}.popIframe {filter:alpha(opacity=0);/*IE*/opacity:0;/*FF*/}
 
通过JavaScript实现层的隐藏与显示切换: 
function showDiv(){document.getElementById(’popDiv’).style.display=’block’;document.getElementById(’popIframe’).style.display=’block’;document.getElementById(’bg’).style.display=’block’;}function closeDiv(){document.getElementById(’popDiv’).style.display=’none’;document.getElementById(’bg’).style.display=’none’;document.getElementById(’popIframe’).style.display=’none’;} 

最终代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title> DivCSS实现 始终居中的半透明弹出层</title><style type="text/css"><!--html,body {height:100%; margin:0px; font-size:12px;}.mydiv {background-color: #FFCC66;border: 1px solid #f00;text-align: center;line-height: 40px;font-size: 12px;font-weight: bold;z-index:999;width: 300px;height: 120px;left:50%;top:50%;margin-left:-150px!important;/*FF IE7 该值为本身宽的一半 */margin-top:-60px!important;/*FF IE7 该值为本身高的一半*/margin-top:0px;position:fixed!important;/* FF IE7*/position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&            document.compatMode==’CSS1Compat’) ?            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/}.bg,.popIframe {background-color: #666; display:none;width: 100%;height: 100%;left:0;top:0;/*FF IE7*/filter:alpha(opacity=50);/*IE*/opacity:0.5;/*FF*/z-index:1;position:fixed!important;/*FF IE7*/position:absolute;/*IE6*/_top:       expression(eval(document.compatMode &&            document.compatMode==’CSS1Compat’) ?            documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/            document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);}.popIframe {filter:alpha(opacity=0);/*IE*/opacity:0;/*FF*/}--></style><script language="Javascript" type="text/Javascript">function showDiv(){document.getElementById(’popDiv’).style.display=’block’;document.getElementById(’popIframe’).style.display=’block’;document.getElementById(’bg’).style.display=’block’;}function closeDiv(){document.getElementById(’popDiv’).style.display=’none’;document.getElementById(’bg’).style.display=’none’;document.getElementById(’popIframe’).style.display=’none’;}</script></head><body><div id="popDiv" class="mydiv" style="display:none;">kuzau.com欢迎你!Q群号:48822948<a href="Javascript:closeDiv()">关闭窗口</a></div><div id="bg" class="bg" style="display:none;"></div><a href="Javascript:showDiv()">点击这里弹出层</a><iframe id=’popIframe’ class=’popIframe’ frameborder=’0’ ></iframe></body></html>
 
上下篇: WEB前端开发规范文档 九个CSS3结构性伪类选择器

最新推荐信息