web-dev-qa-db-fra.com

Barre de navigation bootstrap aligner vouloir aligner à droite

J'essaie d'aligner la barre de navigation à droite. Lorsque j'utilise la classe .pull-right, il pousse trop la barre de navigation vers la droite: "off the grid". 

Qu'est-ce que je fais mal?

Code:

<div class="row">
<div class="span3 top_logo"><img src="images/logo_svart.png" width="177" height="60" alt="BETA Team Performance" /></div>
    <div class="span9">
        <div class="navbar navbar-static-top">
            <div class="navbar-inner">
                <div class="container">
                    <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><strong>MENY <i class="icon-chevron-down icon-white"></i></strong>
                    </button>
                    <div class="nav-collapse collapse">
                        <ul class="nav pull-right">
                            <li class="active"><a href="#">Start</a></li>
                            ...
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

17
user1876258

Le problème se pose parce que dans bootstrap-responsive.css, le margin-right est défini sur 0.

Jsfiddle avec une maquette de base Voir dans le navigateur

Donc, vous devez lui donner un certain nombre d'apparence appropriée, comme ci-dessous:

.navbar .nav.pull-right {
     float: right;
    margin-right: 98px; /*set margin this way in your custom styesheet*/
  }

Le code html permettant de créer l’effet souhaité peut être écrit de la manière suivante:

<div class="conatiner">
<div class="row-fluid">
    <div class="span2 top_logo">
        <img width="177" height="60" alt="BETA Team Performance" src="http://placehold.it/177x60">
    </div>
    <div class="span10">
        <div class="navbar navbar-static-top">
            <div class="navbar-inner">
                <div class="container">
                    <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
                    <button data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar"
                    type="button"><strong>MENY <i class="icon-chevron-down icon-white"></i></strong>

                    </button>
                    <!-- Everything you want hidden at 940px or less, place within here -->
                    <div class="nav-collapse collapse ">
                        <!-- .nav, .navbar-search, .navbar-form, etc -->
                        <ul class="nav pull-right">
                            <li class="active"><a href="#">Home</a>
                            </li>
                            <li><a href="#">Link</a>
                            </li>
                            <li><a href="#">Link</a>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
      </div>
    </div>
  </div>
12
Shail

Pour ceux qui arrivent ici et qui utilisent Bootstrap v3 , utilisez simplement l'élément .navbar-right inclus dans l'élément de liste:

<div class="collapse navbar-collapse navbar-ex1-collapse">
    <ul class="nav navbar-nav navbar-right">
      <!-- … -->
    </ul>
</div>
52
hyponym

essayez de mettre votre classe pull-right sur le div.collapse. Cela peut faire l'affaire.

4
Kristian

Si vous voulez voulez tirer quelque chose tout à fait à l'extérieur de la grille (comme des boutons de langue ou sociaux), vous pouvez créer une classe simple, l'ajouter au <ul class="nav navbar-nav language"> et lui donner un style semblable à .language {right:50px;position:absolute;}. Fonctionne très bien avec l’utilisation du .navbar-brand comme logo à l’extrême gauche (de l’œil d’un directeur artistique, de toute façon).

0
chp7

Cet ici a fonctionné pour moi. Mettre pull-right dans le div.collapse ne fonctionne pas - il doit être dans la classe de liste non ordonnée.

<div class="nav-collapse collapse navbar-responsive-collapse">

 <ul class="nav navbar-nav pull-right">
0
greg

Dans Bootstrap 4, vous pouvez utiliser ml-auto pour aligner le menu à droite:

<div class="navbar-nav ml-auto">
0
mbadeveloper