>  기사  >  웹 프론트엔드  >  求实现百度知道页面点登陆后出现背景灰色阴影后还能看到被覆盖的页面_html/css_WEB-ITnose

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

WBOY
WBOY원래의
2016-06-24 12:12:031017검색

要求在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 "

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.