Bootstrap绝对定位的导航栏不会位于相对定位的横幅图像之上

时间:2017-09-19 18:45:03

标签: html5 twitter-bootstrap css3 css-position navbar

我有一个使用position:relative的横幅图片;在一个包含位置的内部:相对;我添加了一个Bootstrap navbar-static-top。我的目标是让导航栏放在横幅图像的顶部。到目前为止,我已经尝试改变一些元素的位置,尽管我尽了最大的努力,但我仍然在导航栏和横幅图像之间留有空白。我相信它与我使用的某个导航栏类有关,但我不知道哪一个。以下是相关的HTML5和CSS3代码。



.wrapper {
	position: relative;
	padding: 0 15px;
}

#banner {
	height: 50vh;
	width: 100vw;
	position: relative;
}

#responsive-nav {
	background-color: transparent;
	position: absolute;
	z-index: 2;
	
}

#logo {
	position: absolute;
	top: 15px;
	left: 60px;
	z-index: 1;
}

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mock Up</title>
    <!-- Custom CSS -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <!-- Bootstrap Link -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>
	<div class="nav-wrapper">
     <nav class="navbar navbar-static-top">
        <!--Navbar-->
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#mainNavBar">
                    <!-- Collapsing Hamburger Buttons for mobile -->
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>         
            </div>
            <!--Menu Items--> 
            <div class="collapse navbar-collapse navbar-right" id="mainNavBar">
                <ul class="nav navbar-nav">
                    <li class="nav-item">
                        <a href="#about">Home</a>
                    </li>
                    <li class="nav-item">
                        <a href="#work">Projects</a>
                    </li>
                    <li class="nav-item">
                        <a href="#contact">Contact</a>
                    </li>
                 
                </ul>
            </div>
            </div>
        </div>
                <div class="wrapper">
                <img class="img-responsive" id="logo" src="https://lh3.google.com/u/0/d/0B7B-ke12S7B2ZS1qSS1wOGJCVzg=w1046-h653-iv1">
                <img class="img-responsive" id="banner" src="https://lh3.google.com/u/0/d/0B7B-ke12S7B2SDRjaVpyY3FITFk=w1366-h653-iv1">
            </div>
            </div>
        </div>
        
    </nav>
    <script src="https://use.fontawesome.com/bd8b80bd9d.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>

</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

bootstrap中的

navbar类提供margin-bottom:20px。你可以通过重要的是覆盖margin-bottom,去除导航栏和图像之间的空间

&#13;
&#13;
.wrapper {
	position: relative;
	padding: 0 15px;
}

#banner {
	height: 50vh;
	width: 100vw;
	position: relative;
}

#responsive-nav {
	background-color: transparent;
	position: absolute;
	z-index: 2;
	
}

#logo {
	position: absolute;
	top: 15px;
	left: 60px;
	z-index: 1;
}
.navbar {
  margin-bottom: 0px;
}
&#13;
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mock Up</title>
    <!-- Custom CSS -->
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <!-- Bootstrap Link -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>
	<div class="nav-wrapper">
     <nav class="my-class navbar navbar-static-top">
        <!--Navbar-->
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#mainNavBar">
                    <!-- Collapsing Hamburger Buttons for mobile -->
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>         
            </div>
            <!--Menu Items--> 
            <div class="collapse navbar-collapse navbar-right" id="mainNavBar">
                <ul class="nav navbar-nav">
                    <li class="nav-item">
                        <a href="#about">Home</a>
                    </li>
                    <li class="nav-item">
                        <a href="#work">Projects</a>
                    </li>
                    <li class="nav-item">
                        <a href="#contact">Contact</a>
                    </li>
                 
                </ul>
            </div>
            </div>
        
                <div class="wrapper">
                <img class="img-responsive" id="logo" src="https://lh3.google.com/u/0/d/0B7B-ke12S7B2ZS1qSS1wOGJCVzg=w1046-h653-iv1">
                <img class="img-responsive" id="banner" src="https://lh3.google.com/u/0/d/0B7B-ke12S7B2SDRjaVpyY3FITFk=w1366-h653-iv1">
            </div>
           
       
        
    </nav>
    <script src="https://use.fontawesome.com/bd8b80bd9d.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>

</html>
&#13;
&#13;
&#13;