【发布时间】:2022-02-16 02:18:33
【问题描述】:
当我单击图像并弹出它时,我试图模糊背景。 我已经有了它,它模糊了页面的一部分。但是,您可以看到该部分之外的任何内容都不会模糊。
CSS
.content2#blur.active{
filter: blur(20px);
pointer-events: none;
user-select: none;}
#popup{ /*NEW*/
position: fixed;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
padding: 50px;
visibility: hidden;
opacity: 0;
transition: 0.5s;
}
#popup.active{
width: 650px;
top: 53%;
visibility: visible;
opacity: 1;
transition: 0.5s;
}
HTML
<section class="port" id="pLink">
<div class="heading" id="blur">
<h2>Title</h2>
<p>Description.</p>
</div>
<div class="content2" id="blur">
<div class="pBox">
<a href="#" class="anchor" onclick="toggle()" id="img-1">
<img src="../mywebsite/img/bp.jpg">
<div class="overlay">
<h5>Image Description</h5>
</div>
</a>
</div>
</div>
<div id="popup">
<a href="#" class="anchor" onclick="toggle()">
<img src="../mywebsite/img/bp.jpg" class="img-1">
</div>
</section>
<div class="footer">
<p>Copyright</p>
</div>
JavaScript
function toggle(){
var blur = document.getElementById('blur');
blur.classList.toggle('active');
var popup = document.getElementById('popup');
popup.classList.toggle('active');
}
我尝试将相同的id="blur" 添加到页脚,但问题是它仅适用于一个<div>。
我还尝试为 let say `class="footer" 添加单独的 css 代码,但它不起作用。
.footer#blur.active{
filter: blur(20px);
pointer-events: none;
user-select: none;}
我也尝试将 id 标签移动到该部分,但这只会模糊标题而不是其余部分。
【问题讨论】:
-
Id 应该是唯一的。尝试将所有内容包装在一个 div 中,并且只模糊该 div。
-
我试过了。它只会模糊包括弹出图像在内的所有内容。
-
从该 div 中取出弹出窗口
标签: javascript html css image