求实现百度知道页面点登陆后出现背景灰色阴影后还能看到被覆盖的页面_html/css_WEB-ITnose

WBOY
发布: 2016-06-24 12:12:03
原创
1032 人浏览过

要求在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>
登录后复制


回复讨论(解决方案)

方法一
使用
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');}
登录后复制




可以用两个层来做,
弄个背景遮罩层,设置为透明,再弄个内容层,显示具体的内容。


  div.style.height =document.body.clientHeight+"px"; //定位
  div.style.width =document.body.clientWidth+"px";

   div.style.filter = "alpha(opacity=50)"; //IE
   div.style.opacity = ".50"; //chromeium

  document.body.appendChild(div);
  $('ajax').innerHTML="aaaaaaaaaaaaaaaa "

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板