CSS抑制类似屏幕的Javascript警报
因此,我有一个隐藏的div,它显示在CSS抑制类似屏幕的Javascript警报,css,addclass,Css,Addclass,因此,我有一个隐藏的div,它显示在$(document).ready()上,显示一个要登录或注册的表单。我试图让屏幕看起来像显示传统Javascript警报一样被抑制。我正在测试阶段,只是使用一个类来设置主体的不透明度,但它也应用于弹出div。我正在尝试将不透明度设置为它后面的所有内容。这是我的 $("body").not("#overlay").addClass("suppress"); 我尝试了几种其他的变体来排除该div,但我不确定这是否可行,因为我正在应用于主体。您有什么建议可以引导
$(document).ready()
上,显示一个要登录或注册的表单。我试图让屏幕看起来像显示传统Javascript警报一样被抑制。我正在测试阶段,只是使用一个类来设置主体的不透明度,但它也应用于弹出div。我正在尝试将不透明度设置为它后面的所有内容。这是我的
$("body").not("#overlay").addClass("suppress");
我尝试了几种其他的变体来排除该div,但我不确定这是否可行,因为我正在应用于主体
。您有什么建议可以引导我朝正确的方向前进吗?您应该将#overlay
div设置为以下值:
#overlay {
width: 100%;
height: 100%;
position:fixed;
z-index: 1000;
background: rgba(255, 255, 255, 0.7)
}
半透明白色背景覆盖将具有与降低主体不透明度相同的效果。或者,您可以使用1px x x半透明.png背景图像代替rgba
然后,您可以在#overlay中使用另一个div,它将使表单居中:
#overlay .inner {
width: 200px;
height: 200px;
position: absolute;
top: 50%;
left: 50%;
margin: -100px 0 0 -100px
}
这样,您就不必担心更改任何其他元素的css
要评论您在回答中提到的方法: 据我所知,您当前的代码是“查找任何没有id“overlay”的body元素并添加类“suppress”。。。换句话说,not()仅适用于匹配的元素集。如果要更改除#overlay之外的所有元素的不透明度,可以执行以下操作:
<body>
<div id="overlay">
overlay stuff in here
</div>
<div id="other-content">
All page content in here
</div>
</body>
$(document).ready(function(){
$('#other-content').addClass('suppress');
});
把东西放在这里
所有页面内容都在这里
$(文档).ready(函数(){
$(“#其他内容”).addClass('suppress');
});
您可以在主体和弹出窗口之间插入一个半透明的div。这可能也会阻止鼠标输入到身体,这让它感觉是模态的。@MattyK将其作为一个答案发布,因为它可能是正确的。听起来很好,我会尝试一下。