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>
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>
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>
essayez de mettre votre classe pull-right
sur le div.collapse
. Cela peut faire l'affaire.
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).
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">
Dans Bootstrap 4, vous pouvez utiliser ml-auto
pour aligner le menu à droite:
<div class="navbar-nav ml-auto">