我有一个导航栏用于我正在研究的一个小测试网站,我需要一些帮助。我正在使用Bootstrap(你可能已经知道了)但是当你向下滚动时无法弄清楚如何让我的导航栏粘在屏幕顶部。我希望导航栏留在jumbotron下面,直到你滚动到通常离开屏幕的位置。当它开始离开屏幕时,我希望它保持在屏幕的顶部,但在必要时返回。我在JQuery文件中尝试了不同的代码,例如:
$('.navbar-default').affix({
offset: {
top: 50
}
});
如果有人能够提供帮助,我们将不胜感激。
以下是我的HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<title>Hope's Seed</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="JS/style.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="CSS/style.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Roboto+Condensed" rel="stylesheet">
</head>
<body>
<div class = "header">
<div class="jumbotron text-center">
<h1>Hope's Seed</h1>
<p>You're Not Alone</p>
</div>
</div>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Sponsors</a></li>
<li><a href="#">Donate</a></li>
<li><a href="#">Photos</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Events</a></li>
<li><a href="#">Blog</a></li>
</ul>
</div>
</div>
</nav>
<div class="bg">
<div class="container-fluid">
<div class="row">
<img class="img-responsive" src="Images/plantgrow.jpg">
<div>
</div>
</div>
</body>
</html>
我的CSS代码(可能有一些裁员,我还没有回去清理它):
.header .jumbotron {
color:#fff;
background-color:#a1ff7c;
font-family:Roboto Condensed;
margin-bottom:0px;
}
.navbar-default {
background-color: #78c45a;
border: 0px;
font-family:Roboto Condensed;
margin-bottom:0px;
}
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:focus {
color: white; /*BACKGROUND color for active*/
background-color: #78c45a;
}
.navbar-default .navbar-nav > .active > a:hover{
background-color: #5a9344;
color: #fff;
}
.navbar-default .navbar-nav > li > a {
color: #fff;
}
.navbar-default .navbar-nav > li > a:hover {
color: #fff;
background-color: #5a9344;
}
.navbar-default .navbar-brand {
color: #fff;
}
.navbar-default .navbar-brand:hover {
background-color:#5a9344;
color: #fff;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #fff;
}
.navbar-default .navbar-toggle {
border: 0px;
}
.navbar-default .navbar-toggle:hover {
background-color:#5a9344;;
}
p {
font-family: Roboto Condensed;
}
.bg .img-responsive {
width:100%;
height:auto;
}
.jumbotron {
padding-top:1%;
padding-bottom:1%;
}
.jumbotron h1 {
margin-top:0px;
}
.jumbotron p {
margin-bottom:0px;
}
.navbar-nav {
display:table;
width:100%;
margin: 0;
}
.navbar-nav > li {
float:none;
display:table-cell;
text-align:center;
}
.container-fluid{
padding-left:0px;
padding-right:0px;
}
#myNavbar{
padding-left:0px;
padding-right:0px;
}
答案 0 :(得分:1)
要使用fixed Bootstrap navbar,您需要做的只是为导航栏提供navbar-fixed-top
类:
<nav class="navbar navbar-default navbar-fixed-top">
我假设你也希望你的绿色自定义标题贴在导航栏上方的屏幕顶部。您还需要为其提供相同的类,同时为导航栏提供等于自定义标题高度的top
偏移量:
<div class="header navbar-fixed-top">
.navbar.navbar-default {
top: 155px;
}
我创造了一个展示这个here的小提琴。
希望这有帮助! :)