折叠的导航栏重叠页面内容

时间:2018-04-11 15:46:20

标签: html css twitter-bootstrap

所以我是初学者,所以请原谅我的代码,我理解它非常混乱,需要清理。我试图创建一个paralax类型的网站,使用两个"幻灯片",只需使用2个元素并将它们设置为具有单独的固定背景。现在我的问题出现在我使用的bootstrap导航栏的形式。当导航栏折叠,我点击汉堡图标时,它可以工作,但是列表覆盖了我在第二张幻灯片上的内容,而不是将内容推到页面的下方,我已经搜索了很多,但我想我创建HTML的方式是问题。

HTML

<body>
<div id="slide1">
    <nav class="navbar">
        <div class="container-fluid">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="RJAhome2.html">
                    <img class="logo" src="https://lh3.googleusercontent.com/PwCMx8gHG4ubuI13n0hSh1o6Ks8oucZ_14mnDI-wb58wneRKDlQY6_Ujuf87g61dNDLo8YXMzpY34v7jLnI6A4BfnDb0WOxzhrKycp0g">
                </a>
            </div>
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav navbar-right">
                    <li class="active"><a href="RJAhome2.html"><strong>HOME </strong><span class="sr-only">(current)</span></a></li>
                    <li><a href="RJAabout.html"><strong>ABOUT US </strong></a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><strong>THE ACADEMY </strong><span class="caret"></span></a>
                        <ul id="dropdown1" class="dropdown-menu">
                            <li><a href="RJAinstructors.html">THE INSTRUCTORS</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="RJAbjj.html">BJJ</a></li>
                            <li><a href="RJAjj.html">KENPO JIU JITSU</a></li>
                            <li><a href="RJAboxing.html">BOXING/KICKBOXING</a></li>
                            <li><a href="RJAmma.html">MMA</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="RJApricing.html">PRICING</a></li>
                            <li><a href="RJAphotos.html">PHOTOS & VIDEOS</a></li>
                            <li><a href="RJAtestimonials.html">TESTIMONIALS</a></li>
                        </ul>
                    </li>
                    <li><a href="RJAschedule.html"><strong>SCHEDULE </strong></a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><strong>ROGER'S BJJ </strong><span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="RJAachievements.html">ACHIEVEMENTS</a></li>
                            <li><a href="RJAhistory.html">HISTORY</a></li>
                        </ul>
                    </li>
                    <li><a href="RJAcontact.html"><strong>CONTACT US </strong></a></li>
                </ul>
            </div>
        </div>
    </nav>

    <div class="headers">
        <h4>GOSPORT & FAREHAM'S HOME OF CHAMPIONS</h4>
        <h1><strong>ROGER'S BJJ ACADEMY</strong></h1>

        <button id="infobutton" class="btn btn-lg">VIEW OUR SCHEDULE</button>
    </div>
</div>



<div id="slide2">
<div class="contact">
<div>
  <a href="RJAhome.html"><img class="logo2" src="https://lh3.googleusercontent.com/PwCMx8gHG4ubuI13n0hSh1o6Ks8oucZ_14mnDI-wb58wneRKDlQY6_Ujuf87g61dNDLo8YXMzpY34v7jLnI6A4BfnDb0WOxzhrKycp0g"></a>
</div>
ROGER'S BJJ ACADEMY <br> 
UNIT D18 HERITAGE BUSINESS PARK <br>
HERITAGE WAY GOSPORT <br>
HAMPSHIRE PO12 4BG <br>
<a href="https://www.facebook.com/rogersbjj/"><i class="fab fa-facebook-square fa-2x"></i></a>
<a href="https://www.instagram.com/explore/locations/128542971053416/rogers-jiujitsu-academy-the-tigers-lair-gym/"><i class="fab fa-instagram fa-2x"></i></a>
<a href="#"><i class="fas fa-envelope fa-2x"></i></a>
</div>

</div> 

CSS

body {
    font-family: Rajdhani;
    color: white;
    width: 100%;
    height: 100%;

}

.nav>li>a:focus, .nav>li>a:hover {
        background-color: transparent !important;
        color: #FFFFFF;
        border-bottom: 3px solid #FFFFFF;
        padding-bottom: 5px;
  }


.dropdown-menu li, .dropdown-menu a {
    padding:5px 0px 5px 0px;
    margin:0px;
    color: white;
    background-color: white;


}

.logo {
    width: 7em;

}

.navbar {
    font-family: Rajdhani;
    border: 0px white solid;

}

.navbar-toggle .icon-bar {
    background-color: #fff;
    margin-top: 5.5em;

}
li a {
    color: white;
    margin-top: 2.5em;
    font-size: 1.5em;
}
.collapsed {
    color: white;
}

#slide1 {
    background: url(dojo.jpg) 50% 0 no-repeat fixed;
    background-size: cover;
    height:700px;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;


}

#slide2 {
    background-color: #fff;
    color: #333333;
    height: 235px;
    margin: 0 auto;
    overflow: hidden;
    padding-top: 15px;

}

.headers {
    color: white;
    display: block;
    margin-top: 14em;
    margin-left: 1em;
    font-family: Rajdhani;
    font-weight: 1000px;

}

#infobutton {
    display: block;
    width: 10.5em;
    background-color: transparent;
    color: white;
    border: 2px solid white;
    margin-top: 1em;

}

.contact {
    font-family: Rajdhani;
    font-size: 1em;
    text-align: center;
}

.logo2 {
    width: 7em;
    padding-bottom: 0.5em;
}

导航栏只是重叠第二张幻灯片上的任何内容。我怎么能让它推动其他元素呢?谢谢:D

1 个答案:

答案 0 :(得分:0)

我试图重新创建您的代码,看看您要修复的是什么,所以如果这不是您想要的,我会道歉。

使用bootstrap'navbar-fixed-top'会添加一个z-index属性,该属性用于确定元素前面或后面的放置距离。标准引导程序'navbar-fixed-top'设置为:

.navbar-fixed-top {
top: 0;
z-index: 1030;
}

它将放在你的其他元素之上,我假设它没有设置z-index。也使用

position: fixed;

保持元素到位,除非另有设置,否则通常会导致其他元素移动到其后面。

我所做的修复,我认为是你的问题,是:

移除:

body {
padding-top: 50px;
}

加了:

.navbar-fixed-top {
position: sticky;
}
.body-content {
position: relative;
}

我使用position sticky的原因仅限于个人偏好。如果你的导航栏仍然会停留在页面的顶部,那么使用sticky(我发现)可以更容易地安排相对于它的其他元素。换句话说,要阻止它铺设在顶部,而是放在它旁边直到滚动。

我希望这会有所帮助,这是我的第一个回答,如果它不是你想要的那样再次道歉!

祝你好运!