web-dev-qa-db-fra.com

Bootstrap, rendre une barre de navigation collante après avoir défilé?

J'ai une barre de navigation qui se trouve sous l'image d'en-tête. Je veux que la barre de navigation reste en haut de la page Web lorsque je fais défiler vers le bas. Je ne peux pas penser à la jQuery ou au CSS requis, car la barre de navigation semble coller juste en dessous de l'image d'en-tête, laissant un certain espace.

<div class="headerwrap pull-center">
<div  class="container">
    <div id="header" class="row-fluid">
        <div class="span5" id="phones">
            <img class="phone" src="img/white.png" alt="">
        </div>
        <div class="span7" id="mm-logo">
            <img class="mm-log" src="img/logo.png" alt="">
        </div>
    </div>
</div>
</div>


<div class="navbar navbar-inner" id="border-stuff">
    <div class="span12">

        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>

<!-- Everything you want hidden at 768px or less, place within here -->
<div class="nav-collapse collapse" id="center-nav">
<ul class="nav" >
    <li><a href="#h1"><h3>Heading1</h3></a></li><li class="divider-vertical"></li>
    <li><a href="#h2"><h3>Heading2</h3></a></li><li      class="divider-vertical"></li>
    <li><a href="#h3"><h3>Heading3</h3></a></li><li class="divider-vertical">  </li>
    <li><a href="#h4"><h3>Heading4</h3></a></li><li class="divider-vertical"></li>
    <li><a href="#h5"><h3>Heading4</h3></a></li>
</ul>
</div>

</div>
</div>
21
user2441391

Si vous souhaitez que votre barre de navigation reste fixe en haut de l'écran uniquement une fois que l'image d'en-tête a défilé, vous pouvez utiliser le bootstrap plugin d'affixe .

19
Nathan Breit

Il vous suffit de remplacer votre code Jquery par ceci:

$('#sidebar').affix({
  offset: {
    top: 50
  }
});

Et ajustez le haut à ce qui vous convient le mieux.

4
Henrique