有悬赏:网页页面CSS效果框弹出时网页背景是黑色的。

html-css08

有悬赏:网页页面CSS效果框弹出时网页背景是黑色的。,第1张

给个参考

<html>

<head>

<style type="text/css">

</style>

</head>

<body>

//背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色) //背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)

<input type="button" value="点击这里" onclick="sAlert()" />

<script type="text/javascript" language="javascript">

function sAlert(){

var msgw,msgh,bordercolor

msgw=250//提示窗口的宽度

msgh=100//提示窗口的高度

bordercolor="#336699"//提示窗口的边框颜色

titlecolor="#99CCFF"//提示窗口的标题颜色

//背景层(大小与窗口有效区域相同,即当弹出对话框时,背景显示为放射状透明灰色)

var bgObj=document.createElement("div")//创建一个div对象(背景层)

//定义div属性

bgObj.setAttribute("id","bgDiv")

bgObj.style.position="absolute"

bgObj.style.top="0"

bgObj.style.background="#777"

bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"

bgObj.style.opacity="0.6"

bgObj.style.left="15%"

bgObj.style.width="85%"

bgObj.style.height="100%"

bgObj.style.zIndex = "10000"

document.body.appendChild(bgObj)//在body内添加该div对象

var msgObj=document.createElement("div")//创建一个div对象(提示框层)

//定义div属性,即相当于

msgObj.setAttribute("id","msgDiv")

msgObj.setAttribute("align","center")

msgObj.style.background="white"

msgObj.style.border="1px solid " + bordercolor

msgObj.style.position = "absolute"

msgObj.style.left = "65%"

msgObj.style.top = "50%"

msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif"

msgObj.style.marginLeft = "-225px"

msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px"

msgObj.style.width = msgw + "px"

msgObj.style.height =msgh + "px"

msgObj.style.textAlign = "center"

msgObj.style.lineHeight ="25px"

msgObj.style.zIndex = "10001"

var title=document.createElement("h4")//创建一个h4对象(提示框标题栏)

//定义h4的属性,即相当于

//<h4 id="msgTitle" align="right" style="margin:0 padding:3px background-color:#336699 filter:progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100) opacity:0.75 border:1px solid #336699 height:18px font:12px Verdana,Geneva,Arial,Helvetica,sans-serif color:white cursor:pointer" onclick="">关闭 </h4>

title.setAttribute("id","msgTitle")

title.setAttribute("align","right")

title.style.margin="0"

title.style.padding="3px"

title.style.background=bordercolor

title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100)"

title.style.opacity="0.7"

title.style.border="1px solid " + bordercolor

title.style.height="12px"

title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif"

title.style.color="white"

title.style.cursor="pointer"

title.innerHTML="关闭"

title.onclick=removeObj

function removeObj(){//点击标题栏触发的事件

document.body.removeChild(bgObj)//删除背景层Div

document.getElementById("msgDiv").removeChild(title)//删除提示框的标题栏

document.body.removeChild(msgObj)//删除提示框层

}

document.body.appendChild(msgObj)//在body内添加提示框div对象msgObj

document.getElementById("msgDiv").appendChild(title)//在提示框div中添加标题栏对象title

var txt=document.createElement("p")//创建一个p对象(提示框提示信息)

txt.style.margin="1em 0"

txt.setAttribute("id","msgTxt")

txt.innerHTML='key:<input type="test" name="psd" /><br><input type ="button" value = "send" onclick= removeObj() >'

document.getElementById("msgDiv").appendChild(txt)//在提示框div中添加提示信息对象txt

}

</script>

</body>

</html>

jQuery Lightbox Plugin 这个jq的框架就是这么的效果。。。你看一下。

http://www.qianduan.net/top-10-jquery-lightbox-scripts.html

这种就是点击弹出窗口,可以关闭,背景变暗,你所说的这几个需求都满足了。

补充:

还有这段代码。你试一下吧。

<!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" lang="zh-CN">

<head>

<!-- meta data -->

<meta http-equiv="Content-Language" content="zh-cn" />

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<meta name="robots" content="all" />

<meta name="author" content="在远方@www.jscode.cn" />

<meta name="Copyright" content="Copyright (c) jscode.cn" />

<link rel="icon" href="/favicon.ico" type="image/x-icon" media="screen" />

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" media="screen" />

<meta name="description" content="网页特效观止" />

<meta name="keywords" content="网页特效,网页特效代码" />

<!-- site title -->

<title>点击弹出窗口层,并且背景变暗渐变---网页特效观止|www.jscode.cn|网页特效代码</title>

<style>

body {font-size:12pxbackground:#9EC7E7}

img {border:0px}

#msgDiv {

z-index:10001

width:500px

height:400px

background:white

border:#336699 1px solid

position:absolute

left:50%

top:20%

font-size:12px

margin-left:-225px

display: none

}

#bgDiv {

display: none

position: absolute

top: 0px

left: 0px

right:0px

background-color: #777

filter:progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75)

opacity: 0.6

}

</style>

<script type="text/javascript">

function showDetail() { //在远方www.jscode.cn

//背景

var bgObj=document.getElementById("bgDiv")

bgObj.style.width = document.body.offsetWidth + "px"

bgObj.style.height = screen.height + "px"

//定义窗口

var msgObj=document.getElementById("msgDiv")

msgObj.style.marginTop = -75 + document.documentElement.scrollTop + "px"

//关闭

document.getElementById("msgShut").onclick = function(){

bgObj.style.display = msgObj.style.display = "none"

}

msgObj.style.display = bgObj.style.display = "block"

msgDetail.innerHTML="<p align=center>小窗口里的内容</p><p align=center><A href=http://www.jscode.cn><FONT color=#0000ff>网页特效观止</FONT></A></p>"

}

</script>

</head>

<body>

<div id="msgDiv">

<div id="msgShut">

关闭</div>

<div id="msgDetail">

</div>

</div>

<div id="bgDiv">

</div>

<p> </p>

<p><a href="#" onClick="showDetail()">点击我试试看</a></p>

<p> </p>

<p> </p>

<p> </p>

<p> </p>

<p>更多网页特效代码尽在 <a href="http://www.jscode.cn/">网页特效观止</a></p>

</body>

</html>

使用css创建:

将这个需要覆盖全部页面的半透明容器相对与文档绝对定位,然后设置其宽度高度均为均为100%即可,缺点是容器总是覆盖当前状态下浏览器视口的面积,如果此时调整浏览器宽度或高度为更大值则出现非覆盖区。

JavaScript创建:

先用css进行透明层定位,同上.然后使用bom语句获取当前视口的宽度和高度然后将获取的值分别付给半透明容器的宽度和高度,并创建一个onresize事件函数,一旦用户改变浏览器窗口大小则从新读取这些值,这样即可保证任何情况下均能完全覆盖