添加frosting/blur效果到Bootstrap 3固定导航栏
Add frosting/blur effect to Bootstrap 3 fixed navbar
有几个例子可以满足我的要求,下面的 link 中有一个。但我正在尝试使用库存 Bootstrap 3 导航类在背景颜色或图像上执行此效果。你觉得这可能吗。每次我靠近时,整个导航都会变得模糊,而不仅仅是背景。
我在找什么:
http://codepen.io/adobe/pen/d056d1b26b9683c018f9bb9e0f1b0e1c
-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
opacity: 0.4;
我正在使用此设置进行引导:
http://getbootstrap.com/examples/jumbotron/
如果您有任何问题,请告诉我。
谢谢。
这是一个快速启动http://www.bootply.com/BYInEV4LVu
添加您发布到导航栏的模糊代码会模糊其中的所有内容,因此您要做的是将导航栏的背景设置为半透明,并为其提供一个 z-index 以使其保持在顶部。然后在#navbar 下方添加另一个栏,并将其定位在与 .navbar 相同的位置,但使用 z-index 在其下方。下面是额外的模糊 div 应该去的地方和模糊代码。
html
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid the-navbar">
<div class="navbar-header"> ... </div>
<div id="navbar" class="navbar-collapse collapse"> ... </div><!--/.nav-collapse -->
<div class="the-blur"></div>
</div>
</nav>
.the-blur {
position: fixed;
top:0;
width: 100%;
min-height: 50px;
margin-bottom: 20px;
background: rgba(0,0,0,.4);
z-index:1010;
-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
}
你说你想要导航栏中的效果(如示例中所示)。你可以给你的导航栏一个透明的背景颜色。
Demo
CSS:
.navbar{
background:rgba(255,255,255,0.6);
}
感谢 user3365721 和 arshad。我已经做了更多的研究,如果没有一些 Javascript 就无法完成我正在寻找的东西,如下例所示:
http://jsfiddle.net/CSS_Apprentice/WtQjY/415/
$(function () {
html2canvas($("body"), {
onrendered: function (canvas) {
$(".blurheader").append(canvas);
$("canvas").attr("id", "canvas");
stackBlurCanvasRGB(
'canvas',
0,
0,
$("canvas").width(),
$("canvas").height(),
20);
}
});
vv = setTimeout(function () {
$("header").show();
clearTimeout(vv);
}, 200);
});
$(window).scroll(function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
window.onresize = function () {
$("canvas").width($(window).width());
};
$(document).bind('touchmove', function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
$(document).bind('touchend', function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
*** 你会在这里看到菜单栏后面的文本和所有内容都模糊了,而不仅仅是栏。那就是我遇到麻烦的地方。
我现在只需要将它应用到 Bootstraps 框架和 类。
谢谢你一直以来的付出,虽然你帮助我确认我做对了但需要
使用backdrop-filter: blur(10px);
有关详细信息,请参阅:My Github Repo for adding frosty effect to Bootstrap navbar
只需使用
背景滤镜
.navibar {
background-color: rgba(0, 0, 0, 0.815);
position: fixed;
width: 100%;
top: 0;
left: 0;
padding: -100;
backdrop-filter: blur(10px);
}
.navibar::after {
content: "";
display: table;
clear: both;
}
.hope ul {
margin-top: 0;
padding: 0;
list-style: none;
text-align: center;
}
.hope li {
display: inline-block;
margin-left: 35px;
margin-right: 35px;
padding-top: 10px;
}
.hope li img {
margin-right: 3px;
margin-left: 3px;
}
.hope li a {
color: rgb(158, 158, 158);
text-decoration: none;
font-size: 14px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
transition: 0.3s;
}
.hope li a:hover {
color: white;
text-decoration: none;
}
.hope li a img {
margin-bottom: -8px;
}
.hope a .o {
margin-bottom: -7px;
}
.hope ul .pls {
padding-left: 300px;
}
.hope ul .plss {
padding-right: 350px;
}
<header class="navibar">
<div class="navi">
<nav class="hope">
<ul>
<li><a href="https://www.youtube.com/channel/UCGWBCRLJph7pEByaL5Un9tQ"><img src="Images/Screenshot 2021-07-15 173623-modified.png" width="28" height="28">Subscribe!</a></li>
<li><a href="https://discord.gg/9cCuPzHwN7">Discord Sever</a></li>
<li><a href="mailto:mncfred1505@gmail.com">Email me</a></li>
<li><a href="tel:+819091615828">Call me</a></li>
<li><a href="#aboutme">About</a></li>
<li><a href="#intro">Intro</a></li>
<li><a href="#meme">Memes</a></li>
</ul>
</nav>
</div>
</header>
对我有用
有几个例子可以满足我的要求,下面的 link 中有一个。但我正在尝试使用库存 Bootstrap 3 导航类在背景颜色或图像上执行此效果。你觉得这可能吗。每次我靠近时,整个导航都会变得模糊,而不仅仅是背景。
我在找什么:
http://codepen.io/adobe/pen/d056d1b26b9683c018f9bb9e0f1b0e1c
-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
opacity: 0.4;
我正在使用此设置进行引导:
http://getbootstrap.com/examples/jumbotron/
如果您有任何问题,请告诉我。
谢谢。
这是一个快速启动http://www.bootply.com/BYInEV4LVu
添加您发布到导航栏的模糊代码会模糊其中的所有内容,因此您要做的是将导航栏的背景设置为半透明,并为其提供一个 z-index 以使其保持在顶部。然后在#navbar 下方添加另一个栏,并将其定位在与 .navbar 相同的位置,但使用 z-index 在其下方。下面是额外的模糊 div 应该去的地方和模糊代码。 html
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid the-navbar">
<div class="navbar-header"> ... </div>
<div id="navbar" class="navbar-collapse collapse"> ... </div><!--/.nav-collapse -->
<div class="the-blur"></div>
</div>
</nav>
.the-blur {
position: fixed;
top:0;
width: 100%;
min-height: 50px;
margin-bottom: 20px;
background: rgba(0,0,0,.4);
z-index:1010;
-webkit-filter: blur(20px);
-moz-filter: blur(20px);
-o-filter: blur(20px);
-ms-filter: blur(20px);
filter: blur(20px);
}
你说你想要导航栏中的效果(如示例中所示)。你可以给你的导航栏一个透明的背景颜色。
Demo
CSS:
.navbar{
background:rgba(255,255,255,0.6);
}
感谢 user3365721 和 arshad。我已经做了更多的研究,如果没有一些 Javascript 就无法完成我正在寻找的东西,如下例所示:
http://jsfiddle.net/CSS_Apprentice/WtQjY/415/
$(function () {
html2canvas($("body"), {
onrendered: function (canvas) {
$(".blurheader").append(canvas);
$("canvas").attr("id", "canvas");
stackBlurCanvasRGB(
'canvas',
0,
0,
$("canvas").width(),
$("canvas").height(),
20);
}
});
vv = setTimeout(function () {
$("header").show();
clearTimeout(vv);
}, 200);
});
$(window).scroll(function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
window.onresize = function () {
$("canvas").width($(window).width());
};
$(document).bind('touchmove', function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
$(document).bind('touchend', function () {
$("canvas").css(
"-webkit-transform",
"translatey(-" + $(window).scrollTop() + "px)");
});
*** 你会在这里看到菜单栏后面的文本和所有内容都模糊了,而不仅仅是栏。那就是我遇到麻烦的地方。
我现在只需要将它应用到 Bootstraps 框架和 类。
谢谢你一直以来的付出,虽然你帮助我确认我做对了但需要
使用backdrop-filter: blur(10px);
有关详细信息,请参阅:My Github Repo for adding frosty effect to Bootstrap navbar
只需使用 背景滤镜
.navibar {
background-color: rgba(0, 0, 0, 0.815);
position: fixed;
width: 100%;
top: 0;
left: 0;
padding: -100;
backdrop-filter: blur(10px);
}
.navibar::after {
content: "";
display: table;
clear: both;
}
.hope ul {
margin-top: 0;
padding: 0;
list-style: none;
text-align: center;
}
.hope li {
display: inline-block;
margin-left: 35px;
margin-right: 35px;
padding-top: 10px;
}
.hope li img {
margin-right: 3px;
margin-left: 3px;
}
.hope li a {
color: rgb(158, 158, 158);
text-decoration: none;
font-size: 14px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
transition: 0.3s;
}
.hope li a:hover {
color: white;
text-decoration: none;
}
.hope li a img {
margin-bottom: -8px;
}
.hope a .o {
margin-bottom: -7px;
}
.hope ul .pls {
padding-left: 300px;
}
.hope ul .plss {
padding-right: 350px;
}
<header class="navibar">
<div class="navi">
<nav class="hope">
<ul>
<li><a href="https://www.youtube.com/channel/UCGWBCRLJph7pEByaL5Un9tQ"><img src="Images/Screenshot 2021-07-15 173623-modified.png" width="28" height="28">Subscribe!</a></li>
<li><a href="https://discord.gg/9cCuPzHwN7">Discord Sever</a></li>
<li><a href="mailto:mncfred1505@gmail.com">Email me</a></li>
<li><a href="tel:+819091615828">Call me</a></li>
<li><a href="#aboutme">About</a></li>
<li><a href="#intro">Intro</a></li>
<li><a href="#meme">Memes</a></li>
</ul>
</nav>
</div>
</header>
对我有用