首页 >web前端 >html教程 >div+css实现简单的弹出窗(背景变灰色)_html/css_WEB-ITnose

div+css实现简单的弹出窗(背景变灰色)_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:43:481899浏览

自己做了一个网站,需要用到弹出框的功能,以前没做过这个,就去网上查了下资料,然后试着写了一个最简单的弹出框效果。
需求:点击弹出框按钮,在原页面基础上弹出一个弹出框,并且背景要变成灰色,原页面不能被编辑知道关闭弹出框。
原理:在原页面的基础上添加两个div,一个是弹出框,一个是弹出框后面的背景层(页面变灰)。首先这两个div是跟原页面的代码在一起存放的,只不过使用了display:none这个css属性先将其隐藏不显示,在触发弹出框效果时再使用display:block让这两个div显示出来即可。
完整代码如下:

<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'><html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title>div+css实现弹出层</title><style> #popBox{ position: absolute; display:none; width:300px; height:200px; left:40%; top:20%; z-index:11; background:#B8F764; } #popLayer{ position: absolute; display:none; width:100%; height:100%; left:0; top:0; z-index:10; background:#DCDBDC; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80);/* 只支持IE6、7、8、9 */ } </style><script type="text/javascript"> function popBox(){ var popBox = document.getElementById('popBox'); var popLayer = document.getElementById('popLayer'); popLayer.style.display = "block"; popBox.style.display = "block"; }//end func popBox() function closeBox(){ var popBox = document.getElementById('popBox'); var popLayer = document.getElementById('popLayer'); popLayer.style.display = "none"; popBox.style.display = "none"; }//end func closeBox() </script></head><body><input type="button" name="popBox" value="弹出框" onclick="popBox()" /><div id="popLayer" >    背景层  </div><div id="popBox" >    <div><a href="javascript:void(0)" onclick="closeBox()">关闭</a></div>    <div>弹出框</div></div></body></html>

效果图如下:
原页面:

弹出框:

其他需要注意事项:1、两个弹出层的上下位置;2、弹出的背景层的透明设置;
首先,两个div都要使用position: absolute;这个属性,然后使用z-index这个属性可以设置层的上下顺序,值越大越靠上显示;
其次,背景透明需要使用滤镜等功能,具体代码如下:
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=80);/* 只支持IE6、7、8、9 */

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn