Centrage logo de la marque dans le Bootstrap 3 Navbar
Je suis en train de mettre en œuvre un Bootstrap 3 barre de navigation de sorte que le logo de la marque à toujours rester dans le milieu. C'est le code:
HTML:
<div class="navbar navbar-fixed-top navbar-default">
<div class="navbar-inner">
<div class="container">
<button type="button" style="float: left;" class="pull-left btn btn-navbar navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="brand" style="margin: 0; float: none;" href="#">
<img src="/Content/themes/next/images/logo.png" /></a>
<div class="nav-collapse">
<ul class="nav">
<li> <a href="#">Item 1</a></li>
<li> <a href="#">Item 1</a></li>
<li> <a href="#">Item 1</a></li>
</ul>
</div>
<ul class="nav pull-right">
<li>
<a href="#">
<div class="nextCog"></div>
</a>
</li>
</ul>
<span class="navbar-text pull-right">superpup1 </span>
</div>
</div>
</div>
Il fait une jolie barre de navigation:
Cependant, j'aimerais que le logo (vert) restent dans le milieu de façon persistante. Je suis en ajoutant ce style à la balise "image de marque" de la classe:
<a class="brand" style="margin: 0; float: none; text-align:center" href="#">
<img src="/Content/themes/next/images/logo.png" /></a>
Il résout partiellement le problème: le logo est dans le milieu, mais il pousse le reste de la barre de navigation éléments bas:
C'est un effet indésirable que je voudrais éliminer. Pouvez-vous me proposer une solution? C'est peut-être une mauvaise approche pour le centrage d'un logo depuis le début ?
- Cela ressemble à de Bootstrap 2 pour moi
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
Centrage de votre logo par 50% et moins de la moitié de votre logo largeur de sorte qu'il n'aura pas de problème lorsque le zoom avant et arrière.
Voir violon
transform:translateX(-50%)
plutôt que demargin-left
pour que cela fonctionne avec n'importe quel logo de la largeur.margin-left: -80px !important;
pour le centre de la mine de façon appropriée. Utilisez simplementtransform
que Lee a suggéré. Il fonctionne mieux (Chrome, au moins).La façon la plus simple est css transformer:
DÉMO: http://codepen.io/candid/pen/dGPZvR
De cette façon, travaille également avec d'dynamiquement la taille d' images d'arrière-plan pour le logo et nous permet d'utiliser le texte cacher classe:
CSS:
HTML:
Nous pouvons également utiliser flexbox bien. Cependant, en utilisant cette méthode, nous devrions avoir à se déplacer
navbar-brand
à l'extérieur denavbar-header
. De cette façon, est si grande, parce que nous pouvons maintenant avoir une image et texte côte à côte:Démo: http://codepen.io/candid/pen/yeLZax
Pour atteindre ces résultats sur mobile, il suffit de conclure au-dessus de la css à l'intérieur d'une requête de média:
.navbar-toggle { z-index: 1; }
Mis à jour 2018
Bootstrap 3
Voir si cet exemple permet de: http://bootply.com/mQh8DyRfWY
La marque est centrée à l'aide..
Votre balisage pour Bootstrap 2, pas 3. Il n'est plus
navbar-inner
.MODIFIER - une Autre approche est d'utiliser
transform: translateX(-50%);
http://www.bootply.com/V7vKDfk46G
Bootstrap 4
Dans le Bootstrap 4,
mx-auto
ou flexbox peut être utilisé pour le centre de la marque et d'autres éléments. Voir Comment la position de la barre de navigation de contenu dans le Bootstrap 4 pour une explication.Voir aussi:
Bootstrap barre de navigation à gauche, centré ou aligné à droite des éléments
Vieille question, mais juste pour la postérité.
J'ai trouvé la meilleure façon de le faire est d'avoir l'image en tant qu'image d'arrière-plan de la barre de navigation de marque. Juste fait en sorte de mettre en largeur.
Une solution où le logo est vraiment centré et les liens sont justifiées.
Max nombre recommandé de liens pour la nav est de 6, en fonction de la longueur des mots dans eache lien.
Si vous avez 5 liens, insérer un lien vide et le style avec:
de cette façon, le nombre de liens est toujours la même.
HTML:
De voir le résultat, cliquez sur exécuter extrait de et puis pleine page
Violon