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

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

WBOY
WBOYOriginal
2016-06-24 12:12:031017Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn