with poner navegacion logo example centrado bootstrap barras twitter-bootstrap twitter-bootstrap-3 responsive-design navbar

twitter bootstrap - poner - Barra de navegación de respuesta completa Bootstrap con logotipo o texto de marca



logo image bootstrap (6)

El mejor enfoque para agregar un logotipo de marca dentro de una navbar-inner clase navbar-inner y un contenedor. Acerca del problema <h3> tiene un cierto margen de seguridad que se le asigna en el arranque como dijeron @creimers. Y si está utilizando una imagen más grande, aumente también la altura de la barra de navegación o el logotipo flotará en el exterior.

<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="navbar-inner"> <!--changes made here--> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <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="#"> <img src="http://placehold.it/150x50&text=Logo" alt=""> </a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> </div> </nav>

Me gustaría hacer una barra de navegación de respuesta completa con una altura específica en Twitter Bootstrap 3.1.1, donde la marca podría consistir en imagen (logotipo) o texto.

html:

<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="#bs-example-navbar-collapse-1"> <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="#"> <img src="http://placehold.it/150x50&text=Logo" alt=""> </a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> </nav>

css:

body { margin-top: 125px; } .navbar-fixed-top .nav { padding: 15px 0; }

El problema es que después de que el tamaño de la ventana del navegador disminuye y el menú se contrae, la barra de navegación vuelve a su altura original y la imagen del logotipo es la siguiente:

El otro problema es que cambiar <img src="http://placehold.it/150x50&text=Logo" alt=""> en <h3>AppName</h3> hace que AppName no esté en el medio:

Actualmente se centra al establecer valores de relleno, pero no sé cómo hacerlo independiente de él.

¿Alguien podría ayudarme a resolver este problema?

Saludos

EDITAR:

Aquí hay imágenes preparadas del efecto que quiero lograr:

no colapsado barra de navegación con la imagen del logotipo:

barra de navegación colapsado (la misma altura de la barra de navegación, el mismo tamaño de imagen, pero ancho diferente barra de navegación):

no colapsó la barra de navegación con el texto de la marca:

barra de navegación colapsado (todo es igual excepto el ancho de la barra de navegación causado por el cambio del ancho de la ventana del navegador):


Establecí .navbar-brand { min-height: inherit } que resolvió el problema para mí (gracias @creimers por inspiración).


La imagen del marcador de posición que está incluyendo tiene una altura de 50px . Está envuelto en un anchor (.navbar-brand) con un padding-top de 15px y una altura de 50px . Es por eso que el logotipo del marcador de posición fluye fuera de la barra. Intente incluir una imagen más pequeña o juegue con el relleno del ancla y asígnele una class o una id a la que pueda hacer referencia en su css .

EDITAR O eliminar la height: 50px estática height: 50px de .navbar-brand . Su barra de navegación tomará la altura de su hijo más alto.

h3 en bootstrap de forma predeterminada tiene un padding-top de 20 20px . Una vez más, está envuelto con ese padding-top: 15px ancla de padding-top: 15px . Es por eso que no está centrado verticalmente como lo quieres. Podría darle al h3 una class o id que restablezca el margen superior. Y lo mismo que podrías hacer con el padding del anchor .

Aquí hay algo con lo que jugar: http://jsbin.com/jelec/1/edit?html,output


Lo revisé y funcionó para mí.

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" style="margin-top:100px;"><!--style with margin-top according to your need--> <ul class="nav navbar-nav navbar-right"> <li><a href="#">About</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> </div>


Si desea lograr this (puede cambiar el tamaño de la ventana para ver cómo se verá la versión móvil), todo lo que tiene que hacer es tener 2 imágenes de logotipo (1 para escritorio y una para móvil) y mostrarlas según el entorno usando visible-xs clases visible-xs y hidden-xs .

Entonces usé algo como esto:

<img class="hidden-xs" src="http://placehold.it/150x50&text=Logo" alt=""> <img class="visible-xs" src="http://placehold.it/120x40&text=Logo" alt="">

Y, por supuesto, diseñé el logotipo de mi dispositivo móvil usando:

@media (max-width: 767px) { .navbar-brand { padding: 0; } .navbar-brand img { margin-top: 5px; margin-left: 5px; } }

Puedes ver todo el código here . En caso de que necesite un texto en la versión móvil inscribed en el logotipo, no es un gran problema. Simplemente reemplace el logotipo con una <h1 class="visible-xs">AppName</h3> y cambie el estilo dentro de la consulta de medios de la siguiente manera:

@media (max-width: 767px) { .navbar-brand { padding: 0; } .navbar-brand h1{ //here add your style depending of the position you want the text to be placed } }

EDITAR:

Necesitas estas condiciones para que funcione:

.navbar-toggle { margin: 23px 0; } .navbar-nav, .navbar-nav li, .navbar-nav li a { height: 80px; line-height: 80px; } .navbar-nav li a { padding-top: 0; padding-bottom:0; }


Simplemente configure la altura y el ancho donde está agregando ese logotipo. Lo intenté y está funcionando bien