通过JS代码 document.getElementById('divID').style.etElementById('divID').style.display = 'none'。函数可以实现。
1、遮罩层:<div id="back"></div>,即作为背景层,覆盖整个页面。弹出层:<div id="form"></div>,即背景层上的一层,此层可根据#form{top: 10%left: 10%width: 20%height: 30%},调整弹出层的弹出位置。
2、弹出层和遮罩层全部为div标签,可以利用display来控制显示和隐藏的属性,在js中,显示: document.getElementById('divID').style.display = document.getElementById('divID').style.display = 'none'。
3、显示遮罩层和弹出层,即可用图中popDiv()函数表示: 其中,showId 表示弹出层的divId, backId 表示遮罩层的divId;函数第去、2行显示弹出层和遮罩,3、4、5行设置遮罩层的长度、宽度。
4、关闭弹出层和遮罩层用hideDiv函数(), 其中:showId 表示弹出层的divId, backId 表示遮罩层的divId;先关闭弹出层,后关闭遮罩层。
5、点击按钮后,弹出,要给按钮加上onclick函数,<button onclick="popDiv('form','back')">点我,显示弹出层</button>。
6、整体代码如下,css 样式可根据个人的喜好自行添加。
遮罩层的CSS #mask { position: fixedleft: 0right: 0top: 0bottom: 0background: rgba(0, 0, 0, .3)z-index: 99999}在传统浏览器中,不支持rgba的写法。ie下面高版本的渐变又透明的才行。没法透明,可以考虑使用透明png。
rgba最后面的那个1可以改为0.8试试看,就变成透明的了。。
#box{width:200pxheight:200pxoverflow:hiddenposition: relative}#box span{
display: blockwidth:100%height:100%position: absolutetop:0left:0
background-image:linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)
background-image:-o-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)
background-image:-moz-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)
background-image:-webkit-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)
background-image:-ms-linear-gradient(bottom, rgba(0,0,0,1) 0%,rgba(255,255,255,1) 100%)
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#000000,endColorstr=#ffffff,grandientType=1)
}
<div id="box">
<img src="https://ss3.baidu.com/-fo3dSag_xI4khGko9WTAnF6hhy/news/q=100/sign=2c88d7ac67d0f703e0b291dc38fb5148/3bf33a87e950352a60c7a4b35643fbf2b3118be3.jpg">
<span></span>
</div>