html - 用于整页导航的模糊过滤器

标签 html css svg gaussianblur

我想让整个页面的导航淡入淡出,基本上充当过滤器,模糊整个屏幕,导航除外。当用户单击菜单按钮时。但是,我似乎无法让它工作。我已经尝试过 css blur filter 和 svg filters 并且我已经搜索了整个网站。有什么我想念的吗?

$('.nav').hide();
$('.hamburger').click(function(){
    $('.nav').fadeToggle('slow');
    $('.hamburger div').toggleClass('turn-white');
});
$('.nav-dropdown-toggle > span > a, .navigation > li > a, .nav-dropdown > li > a').click(function(){
    $('.nav').fadeToggle('slow');
    $('body').toggleClass('disable-scroll');
});
.nav{
    height:100vh;
    width:100%;
    position:fixed;
    z-index:5;
    display:none;
    text-align:right;
}
#nav_bg{
    height:100%;
    width:100%;
    position:absolute;
    z-index:100;
    background-color:rgba(0,0,0,0.5);
    filter: blur(15px);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="hamburger">Menu Button</button>

<div class="nav">
        <div id="nav_bg"></div>
        <ul class="navigation">
            <li class="nav-dropdown-toggle"><span><a href="#packages">Packages</a></span>
                <ul class="nav-dropdown">
                    <li><a>Business Packages</a></li>
                    <li><a>Top Producers</a></li>  
                    <li><a>Video Ads</a></li>  
                    <li><a>Proud Community Sponsor</a></li>  
                </ul>
            </li>
            <li><a href="#campaigns">Campaign Options</a></li>
            <li><a href="#">Contact</a></li>
            <li><a href="#">Log In</a></li>
            <li>
                <a href="https://www.facebook.com/Supporting-Our-Community-com-1081805428499269/?ref=hl" class="social"><img src="img/402-facebook2.svg"></a>
                <a href="https://www.youtube.com/channel/UCvmPcOGA69v2onNJHDAFwYg" class="social"><img src="img/414-youtube.svg" style="width:47px;"></a>
                <a href="https://www.linkedin.com/in/SupportingOurCommunity" class="social"><img src="img/458-linkedin.svg"></a>
            </li>
        </ul>
    </div>

<div class="example-content">
<h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 

最佳答案

您也可以从脚本中定位要模糊的主要内容:

$('.nav').hide();
$('.hamburger').click(function(){
    $('.nav').fadeToggle('slow');
    $('.hamburger div').toggleClass('turn-white');
    $('.example-content').toggleClass('blur');
});
$('.nav-dropdown-toggle > span > a, .navigation > li > a, .nav-dropdown > li > a').click(function(){
    $('.nav').fadeToggle('slow');
    $('body').toggleClass('disable-scroll');
});
.nav{
    height:100vh;
    width:100%;
    position:fixed;
    z-index:5;
    display:none;
    text-align:right;
}
#nav_bg {
    height:100%;
    width:100%;
    position:absolute;
    z-index:100;
    background-color:rgba(0,0,0,0.5);
}
.blur{

    filter: blur(5px);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="hamburger">Menu Button</button>

<div class="nav">
        <div id="nav_bg"></div>
        <ul class="navigation">
            <li class="nav-dropdown-toggle"><span><a href="#packages">Packages</a></span>
                <ul class="nav-dropdown">
                    <li><a>Business Packages</a></li>
                    <li><a>Top Producers</a></li>  
                    <li><a>Video Ads</a></li>  
                    <li><a>Proud Community Sponsor</a></li>  
                </ul>
            </li>
            <li><a href="#campaigns">Campaign Options</a></li>
            <li><a href="#">Contact</a></li>
            <li><a href="#">Log In</a></li>
            <li>
                <a href="https://www.facebook.com/Supporting-Our-Community-com-1081805428499269/?ref=hl" class="social"><img src="img/402-facebook2.svg"></a>
                <a href="https://www.youtube.com/channel/UCvmPcOGA69v2onNJHDAFwYg" class="social"><img src="img/414-youtube.svg" style="width:47px;"></a>
                <a href="https://www.linkedin.com/in/SupportingOurCommunity" class="social"><img src="img/458-linkedin.svg"></a>
            </li>
        </ul>
    </div>

<div class="example-content">
<h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3> 
  <h3>THIS SHOULD BE BLURRED</h3>

关于html - 用于整页导航的模糊过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41683573/

相关文章:

javascript - (响应)在 javascript 中将宽度单位从 px 更改为 %

css - 强制 <a> 标签与父 <li> 标签具有相同的高度

javascript - 每隔一秒在 javascript 中显示和隐藏元素

javascript - 使用 JavaScript(JS 颜色库)更改 SVG 路径的颜色

html - 在换行符中处理边距时,是否有比 `calc` 更简单的替代方法?

html - 我无法调整导航栏 css/html 中下拉菜单的大小

javascript - 将无序列表转换为选择...但有一个转折

CSS text-align 用于文本以外的其他内容(如按钮)

javascript - DIV 区域内的内容

jquery - jQuery 可以将 svg 数据注入(inject) css 背景图像 :url()?