Tengo este código de Bootstrap de Twitter
<div class='navbar navbar-fixed-top'>
<div class='navbar-inner'>
<div class='container'>
<a class='btn btn-navbar' data-target='.nav-collapse' data-toggle='collapse'>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
</a>
<div class='nav-collapse'>
<ul class='nav'>
<li class='active'>
<a href='some_url'>My Home</a>
</li>
<li>
<a href='some_url'>Option 1 </a>
</li>
<li>
<a href='some_url'>Another option</a>
</li>
<li>
<a href='some_url'>Another option</a>
</li>
</ul>
</div>
</div>
</div>
</div>
Pero cuando estoy viendo el comienzo de la página, la barra de navegación bloquea parte del contenido que está cerca de la parte superior de la página. ¿Alguna idea de cómo hacer que empuje hacia abajo el resto del contenido cuando se ve la parte superior de la página para que la barra de navegación no bloquee el contenido?
css
twitter-bootstrap
GeekedOut
fuente
fuente
Respuestas:
Añadir a tu CSS:
De los documentos de Bootstrap :
fuente
Agregar un relleno como ese no es suficiente si está utilizando bootstrap receptivo. En este caso, cuando cambie el tamaño de su ventana, obtendrá un espacio entre la parte superior de la página y la barra de navegación. Una solución adecuada se ve así:
fuente
Para bootstrap 3, la clase en
navbar-static-top
lugar denavbar-fixed-top
evita este problema, a menos que necesite que la barra de navegación esté siempre visible.fuente
Una solución mucho más útil para su referencia, funciona perfectamente en todos mis proyectos:
cambia tu primer 'div' de
a
fuente
Estoy usando jQuery para resolver este problema. Este es el fragmento de BS 3.0.0:
fuente
He tenido mucho éxito con la creación de una barra de navegación ficticia no fija justo antes de mi barra de navegación fija real.
El espacio funciona muy bien en todos los tamaños de pantalla.
fuente
En mi proyecto derivado del tutorial MVC 5 , descubrí que cambiar el relleno del cuerpo no tenía ningún efecto. Lo siguiente funcionó para mí:
Resuelve los casos en que la barra de navegación se pliega en 2 o 3 líneas. Esto se puede insertar en bootstrap.css en cualquier lugar después del cuerpo de las líneas {margin: 0; }
fuente
La plantilla de arranque css de bootstrap v4 utiliza:
fuente
Como se ve en este ejemplo de Twitter, agregue esto antes de la línea que incluye las declaraciones de estilos receptivos:
Al igual que:
fuente
con navbar-navbar-default todo funciona bien, pero si está usando navbar-fixed-top , debe incluir un cuerpo de estilo personalizado {padding-top: 60px;} de lo contrario, bloqueará el contenido debajo.
fuente
Dos problemas sucederán aquí:
Bootstrap 4 con enlaces a páginas internas
Para solucionar 1), como Martijn Burger dijo anteriormente, la plantilla de arranque css bootstrap v4 usa:
Para solucionar 2) revisa este problema . Este código funciona principalmente (pero no con el segundo clic del mismo hash):
Este código anima los enlaces A con jQuery (no Slim jQuery):
fuente
La mejor solución que he encontrado hasta ahora, que no implica alturas de codificación duras y puntos de interrupción es agregar una
<nav...
etiqueta adicional al marcado.Al hacerlo de esta manera, los
@media
puntos de interrupción son idénticos, la altura es idéntica (siempre quenavbar-brand
sea el objeto más alto en el,navbar
pero puede sustituir fácilmente otro elemento en lafixed-top
barra de navegación no .Donde esto falla es con lectores de pantalla que ahora presentarán 2
navbar-brand
elementos. Esto apunta a la necesidad de unanot-for-sr
clase para evitar que ese elemento aparezca para los lectores de pantalla. Sin embargo, esa clase no existe https://getbootstrap.com/docs/4.0/utilities/screenreaders/Intenté compensar el problema del lector de pantalla,
aria-hidden="true"
pero https://www.accessibility-developer-guide.com/examples/sensible-aria-usage/hidden/ parece indicar que esto probablemente no funcionará cuando el lector de pantalla esté en modo de enfoque, que es, por supuesto, la única vez que realmente lo necesitas para funcionar ...fuente
usar
percentage
es una solución mucho mejor quepixels
.Si es necesario, aún puede ser explícito agregando diferentes
breakpoints
como se menciona en otra respuesta por@spajus
fuente
EDITAR: Esta solución no es viable para las versiones más nuevas de Bootstrap, donde las clases navbar-inversa y navbar-static-top no están disponibles.
Usando MVC 5, la forma en que arreglé la mía, fue simplemente agregar mi propio Site.css, cargado después de los demás, con la siguiente línea:
body{padding: 0}
y cambié el código al comienzo de _Layout.cshtml, para que sea:
fuente
navbar-static-top
no está definido en Bootstrap4. Tampoco lo esnavbar-inverse
Si su barra de navegación está originalmente en la parte superior de la página, establezca el valor en 0. De lo contrario, establezca el valor para
data-offset-top
el valor del contenido sobre su barra de navegación.Mientras tanto, debe modificar el
css
como tal:fuente
Agrega esto:
fuente
deberías agregar
para no destruir un pie de página adhesivo u otra cosa
fuente
Añadir a su JS:
fuente
puede establecer el margen en función de la resolución de pantalla
fuente