Sur ma page Web, j'ai une barre de navigation Bootstrap 3:
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="navbar-header">
<a class="navbar-brand" href="#">Teachlab</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", '#' %></li>
<li><%= link_to "Help", '#' %></li>
<li><%= link_to "Sign in", '#' %></li>
</ul>
</div>
</nav>
<div class="container">
<%= yield %>
</div>
</body>
Le problème est que la navigation est trop proche du bord de l'écran. Si je supprime navbar-fixed-top de la barre de navigation, cela fonctionne comme je le souhaite.
Des allusions?
Utiliser .container-fluid à partir de 3.1.1.
La structure n'est pas correcte. .navbar-right va sur le conteneur .collapse pas sur le ul.
SAMPLE: http://jsbin.com/eQIROsE/2/edit
<div class="navbar navbar-fixed-top navbar-default">
<div class="navbar-header">
<a class="navbar-brand" href="#">Project name</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse navbar-right">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a>
</li>
<li><a href="#about">About</a>
</li>
<li><a href="#contact">Contact</a>
</li>
</ul>
</div>
<!--/.navbar-collapse -->
</div>
J'ai fini par imposer ce qui suit:
.navbar-nav.navbar-right:last-child {
margin-right: 0;
}
Mais peut-être qu'il y a une autre solution?
Il est cassé et ne résoudra pas in 3.x
. Pirate-le.
.navbar-right {
margin-right: 0px;
}
La solution à cela pourrait être
<!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<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="#">Project name</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="../navbar/">Default</a></li>
<li><a href="../navbar-static-top/">Static top</a></li>
<li class="active"><a href="./">Fixed top</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
Cela a fonctionné pour moi.
Je ne vois vraiment pas pourquoi vous auriez deux .navbar-nav.navbar-right. Enveloppez simplement les navs dans .navbar-right à la place.
<div class="navbar-right">
<ul class="nav navbar-nav">...</ul>
<ul class="nav navbar-nav">...</ul>
</div>
J'ai exactement le même problème aujourd'hui! D'après Bootstrap, la doc <ul class="nav navbar-nav navbar-right">
est correcte.
Comme vous, j’ai résolu le problème en réglant le paramètre nav navbar-nav navbar-right margin-right à 0px sans remarquer d’effets indésirables.
Notez que la valeur margin-right de .navbar-text .navbar-right: dernier-enfant est égale à 0px tandis que .navbar-nav .navbar-right: dernière valeur-margin-right de-enfant est -15px ... Bizarre?
Si vous avez un problème avec
marge droite: -15px;
dans .navbar-right, puis ajoutez simplement vos styles css
.navbar-right {
margin-right: 0px;
}
et si cela ne fonctionne toujours pas, effacez l'historique de votre navigateur lorsque votre site Web était en cours d'exécution et relancez-le. Ça marche :)
Ma solution pas si élégante, mais fait le travail très rapidement, ajouter un dernier élément de la liste;
<li><span> </span></li>