Html 在复选框元素上过滤模糊?

Html 在复选框元素上过滤模糊?,html,css,sass,Html,Css,Sass,我试图过滤模糊的每一个元素,除了侧边栏后选中复选框。由于某些原因,我检查的其他选项卡对我不起作用。选中导航栏时,我希望除导航栏外的所有内容都模糊,未选中时不模糊。为什么这不起作用 <div id="sidebar" class="sidebar"> <input id="sidebar-input" type="checkbox" class="sidebar__input&q

我试图过滤模糊的每一个元素,除了侧边栏后选中复选框。由于某些原因,我检查的其他选项卡对我不起作用。选中导航栏时,我希望除导航栏外的所有内容都模糊,未选中时不模糊。为什么这不起作用

<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>
有一个网站,有#侧边栏,里面有#侧边栏输入,当#侧边栏输入被选中时,您希望模糊除#侧边栏之外的所有内容-css无法向复选框或任何父项之前的元素添加任何样式,您只能在DOM中继续

使用提供的代码,您可以使用以下内容模糊#侧边栏expect复选框中的所有内容:

#sidebar-input{
    &:checked{
        &+label {
            filter: blur(10px);

            &+.sidebar__container{
                filter: blur(10px);
            }
        }
    }
}
如果元素在开始时模糊,则删除模糊。要模糊一切,您需要使用JS或jQuery,例如

$('#sidebar-input').change(function() {
    if ($(this).prop("checked")) {
        $("body").addClass("blur")
        /*blur everything expect #sidebar in css*/
    }
    else{
        $("body").removeClass("blur")
    }
});
有一个网站,有#侧边栏,里面有#侧边栏输入,当#侧边栏输入被选中时,您希望模糊除#侧边栏之外的所有内容-css无法向复选框或任何父项之前的元素添加任何样式,您只能在DOM中继续

使用提供的代码,您可以使用以下内容模糊#侧边栏expect复选框中的所有内容:

#sidebar-input{
    &:checked{
        &+label {
            filter: blur(10px);

            &+.sidebar__container{
                filter: blur(10px);
            }
        }
    }
}
如果元素在开始时模糊,则删除模糊。要模糊一切,您需要使用JS或jQuery,例如

$('#sidebar-input').change(function() {
    if ($(this).prop("checked")) {
        $("body").addClass("blur")
        /*blur everything expect #sidebar in css*/
    }
    else{
        $("body").removeClass("blur")
    }
});

如果你喜欢jQuery,这个提琴应该会有帮助,如果没有其他人有答案,我想我会选择这个jQuery答案,但我确实觉得这个答案有点过分了。谢谢你的代码只显示了一个边栏?您是否能够创建一个工作片段来演示您目前所拥有的内容?我看不出JSFIDLE示例有任何模糊之处。如果您喜欢jQuery,如果没有其他人有答案,这个提琴应该会有所帮助。我想我会使用这个jQuery答案,但我确实觉得这个答案有点过分了。谢谢你的代码只显示了一个边栏?您是否能够创建一个工作片段来演示您目前所拥有的内容?我看不出JSFIDLE示例有任何模糊之处。