要求在css和js下解决不知有没可能??<!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>无标题文档</title>
<style>
body{
margin: 0px;
padding: 0px;
}
#box{
margin-top: 500px;
margin-left: 200px;
}
#top{
margin-top: 100px;
margin-left: 300px;
}
#bottom{
margin-top: 1240px;
margin-left: 300px;
}
#sig{
height: 20px;
width: 90px;
margin-left: 100px;
margin-top: 100px;
background-color: #0066FF;
font-weight: bold;
color: #FFFFFF;
}
#ajax{
background-color: #CCCCCC;
position: absolute;
z-index: 9999;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
}
</style>
</head><body>
<div onclick="ec()" id="sig">点击注册</div>
<div id="top">
求这能看到(要求灰色背景在的前提下)
</div>
<div id="box">
求这能看到(要求灰色背景在的前提下)
</div>
<div id="bottom">
求这也能看到
</div>
</body>
<script>
function $(x){ return document.getElementById(x);}
function ec() {
if($('ajax')){
$('ajax').parentNode.removeChild($('ajax'));
}
var div = document.createElement("div")
div.setAttribute("id", "ajax");
div.style.height =document.body.clientHeight+"px"; //定位
div.style.width =document.body.clientWidth+"px";
document.body.appendChild(div);
$('ajax').innerHTML="<b>aaaaaaaaaaaaaaaa </b>"
}
</script>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
body{
margin: 0px;
padding: 0px;
}
#box{
margin-top: 500px;
margin-left: 200px;
}
#top{
margin-top: 100px;
margin-left: 300px;
}
#bottom{
margin-top: 1240px;
margin-left: 300px;
}
#sig{
height: 20px;
width: 90px;
margin-left: 100px;
margin-top: 100px;
background-color: #0066FF;
font-weight: bold;
color: #FFFFFF;
}
#ajax{
background-color: #CCCCCC;
position: absolute;
z-index: 9999;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
}
</style>
</head><body>
<div onclick="ec()" id="sig">点击注册</div>
<div id="top">
求这能看到(要求灰色背景在的前提下)
</div>
<div id="box">
求这能看到(要求灰色背景在的前提下)
</div>
<div id="bottom">
求这也能看到
</div>
</body>
<script>
function $(x){ return document.getElementById(x);}
function ec() {
if($('ajax')){
$('ajax').parentNode.removeChild($('ajax'));
}
var div = document.createElement("div")
div.setAttribute("id", "ajax");
div.style.height =document.body.clientHeight+"px"; //定位
div.style.width =document.body.clientWidth+"px";
document.body.appendChild(div);
$('ajax').innerHTML="<b>aaaaaaaaaaaaaaaa </b>"
}
</script>
</html>
使用
opacity
filter
确实有遮罩的效果,即 页面的button click不能触发
产生的问题是, 遮罩层上的文字也会产生透明的效果#ajax{
background-color: #CCCCCC;
position: absolute;
z-index: 9999;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
opacity:.4;
filter:alpha(opacity=40);
}方法2
使用 rgba + 渐变滤镜
ie下 遮罩不成功, button可以触发事件
但文字没有被影响为透明的。#ajax{
background-color: #CCCCCC;
position: absolute;
z-index: 9999;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
background-color:rgba(0,0,0,.4);
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#4c000000', EndColorStr='#4c000000');
}
可以用两个层来做,
弄个背景遮罩层,设置为透明,再弄个内容层,显示具体的内容。