Dans Twitter bootstrap 2.3.2, je peux avoir quelque chose comme: http://jsfiddle.net/aQwUZ/3/
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a href="#" class="brand">BRAND</a>
<ul class="nav pull-right">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<div class="nav-collapse">
<ul class="nav">
<li><a href="#">L1</a></li>
<li><a href=#">L2</a></li>
</ul>
</div>
</div>
</div>
</div>
Une barre de navigation de démarrage Twitter, où, dans la vue responsive mobile, "Fixed Link" reste visible dans l'en-tête.
Maintenant, dans bootstrap 3, après la mise à niveau de mon code, je ne peux avoir que: http://jsfiddle.net/EC3Ly/4/
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">BRAND</a>
</div>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#">L1</a></li>
<li><a href=#">L2</a></li>
</ul>
</div>
</div>
</nav>
dans la vue responsive mobile, je reçois deux lignes ... J'ai essayé d'envelopper un noeud "navbar-header" http://jsfiddle.net/EC3Ly/5/ ou dans le premier "navbar- en-tête "sans succès.
Qu'est-ce que j'ai raté?
Merci,
Alexandre
Les deux lignes de la barre de navigation mobile sont causées par le correctif de l'en-tête de barre de navigation:
.navbar-header {
.clearfix();
@media (min-width: @grid-float-breakpoint) {
float: left;
}
}
Vous pouvez utiliser les requêtes multimédia et les CSS pour annuler ce correctif (et en ajouter un nouveau avant la liste déroulante réduite)
.navbar-right {float: right !important;}
@media(max-width:767px)
{
.navbar-right {margin-right:20px;}
.navbar-header:after
{
clear: none;
}
.navbar-nav.navbar-right > li { float: left; }
.navbar-collapse:before {clear:both;}
.navbar-collapse {overflow-y: hidden;}
.navbar-collapse.in {overflow-y: visible;}
.navbar{border-color: #101010; border-width: 0 0 1px;}
.navbar-collapse.in > ul {border-color: #101010; border-top:1px double;}
}
}
démo: http://bootply.com/82366
Les requêtes des médias ajoutent également un flottant à droite pour la barre de navigation-droite sur les écrans plus petits. Pour prendre ce code en production, vous pourrez peut-être fixer les frontières et les éventuelles transitions navbar css.
J'ai rencontré le même problème avec BS3, et le seul moyen de le résoudre consistait à utiliser une combinaison de pull-left
et pull-right
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header pull-left">
<a class="navbar-brand" href="#">BRAND</a>
</div>
<div class="navbar-header pull-right">
<ul class="nav navbar-nav pull-left">
<li>
<a href="#">Fixed Link</a>
</li>
</ul>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="#">L1</a></li>
<li><a href="#">L2</a></li>
</ul>
</div>
</div>
</nav>
Démo de travail: http://bootply.com/78856
Je l'ai corrigé de cette façon. Juste après la marque, ajoutez deux nouvelles lignes avec la même classe et une classe supplémentaire.
<!-- Branding Image -->
<a class="navbar-brand" href="{{ url('/') }}">Home</a>
<!-- Fake branding to avoid breaking up navbar -->
<a class="navbar-brand navbar-brand-fake">Item 1</a>
<a class="navbar-brand navbar-brand-fake">Item 2</a>
Et ajoutez ceci à votre fichier css:
a.navbar-brand-fake {
font-size: 15px;
line-height: 21px;
margin-left: 2px !important;
}
Accueil, les éléments 1 et 2 restent dans la barre de navigation lors du redimensionnement et ne se cassent pas.
Le problème vient du moment où la navbar
s'effondre. Par défaut, Bootstrap se réduit à 768px. Si vous augmentez ce nombre, votre navbar
s'effondrera plus tôt et votre problème disparaîtra.
La meilleure façon de le faire est de personnaliser votre fichier d'amorçage et de changer le @grid-float-breakpoint
en 850px (ou la taille dont vous avez besoin). Vous pouvez facilement personnaliser bootstrap 3 à partir de http://getbootstrap.com/customize/?id=9720390
J'espère que cela t'aides.