【发布时间】:2021-02-07 02:09:00
【问题描述】:
我试图在选中复选框时过滤除侧边栏以外的每个元素上的模糊。出于某种原因,我检查过的其他选项卡对我不起作用。当导航栏被选中时,我希望除导航栏之外的所有内容都被模糊,而在未选中时不被模糊。为什么这不起作用?
<div id="sidebar" class="sidebar">
<input id="sidebar-input" type="checkbox" class="sidebar__input" />
<label for="sidebar-input" class="sidebar__label"></label>
<div class="sidebar__container">
<a href="#" class="sidebar__link">Projects</a>
<a href="#" class="sidebar__link">Skills</a>
<a href="#" class="sidebar__link">About</a>
<a href="#" class="sidebar__link">Resume</a>
<a href="#" class="sidebar__link">Github</a>
<a href="#" class="sidebar__link">Contact</a>
</div>
</div>
.sidebar {
background-color: rgba(85, 85, 85, 0.397);
height: 100vh;
width: 0;
position: fixed;
top: 0;
right: 0;
padding: 5rem 0;
display: flex;
flex-direction: column;
justify-content: center;
transition: all 1s;
z-index: 100;
&__input:checked:not(.sidebar) {
filter: blur(10px);
}
}
【问题讨论】:
-
如果你喜欢 jQuery,这个 fiddle 应该可以帮助到 jsfiddle.net/carl_marie/fjq721zb
-
如果没有其他人有答案,我想我会选择这个 jquery 答案,但我确实觉得这个答案有点矫枉过正。谢谢
-
您的代码只显示侧边栏?您是否能够创建一个有效的代码段来展示您到目前为止所拥有的内容?我没有看到 JSFiddle 示例有任何模糊。