Generalmente estoy familiarizado con la técnica de borrar un pie de página usando CSS.
Pero tengo algunos problemas para que este enfoque funcione para el programa de arranque de Twitter, muy probablemente debido al hecho de que el programa de arranque de Twitter es de naturaleza receptiva. Utilizando el programa de arranque de Twitter, no puedo hacer que el pie de página se vacíe hasta el final de la página utilizando el enfoque descrito en la publicación de blog anterior.
css
twitter-bootstrap
footer
Calvin Cheng
fuente
fuente
Respuestas:
Encontramos los fragmentos aquí que funcionan muy bien para bootstrap
HTML:
CSS:
fuente
Esto ahora se incluye con Bootstrap 2.2.1.
Bootstrap 3.x
Use el componente navbar y agregue
.navbar-fixed-bottom
clase:Bootstrap 4.x
No olvide agregar
body { padding-bottom: 70px; }
o de lo contrario el contenido de la página puede estar cubierto.Documentos: http://getbootstrap.com/components/#navbar-fixed-bottom
fuente
navbar-static-bottom
.Un ejemplo de trabajo para Twitter bootstrap NOT STICKY FOOTER
Versión que siempre se actualiza en caso de que el usuario abra devtools o cambie el tamaño de la ventana.
Necesita al menos un elemento con un
#footer
Cuando no desee la barra de desplazamiento si el contenido se ajusta a la pantalla, simplemente cambie el valor de 10 a 0
La barra de desplazamiento se mostrará si el contenido no se ajusta a la pantalla.
fuente
$('#footer').height();
con$('#footer').outerHeight();
$(window).resize(function() {//main code goes here});
e invoque$(window).resize();
para configurarlo cuando se carga la página.Aquí se explica cómo implementar esto desde la página oficial:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
¡Lo acabo de probar ahora y FUNCIONA GENIAL! :)
HTML
El código CSS relevante es este:
fuente
Para pegajoso pie de página se utilizan dos
DIV's
en el HTML básico para el pie de página pegajoso efecto. Escribe así:HTML
CSS
fuente
Ejemplo oficial mucho más simple: http://getbootstrap.com/examples/sticky-footer-navbar/
fuente
Bueno, encontré una mezcla de
navbar-inner
ynavbar-fixed-bottom
Me parece bien y funciona para mi
Ver ejemplo en Fiddle
fuente
En la última versión de bootstrap 4.3, esto se puede hacer usando
.fixed-bottom
class.Así es como lo uso con el pie de página:
Puede encontrar más información en la documentación del puesto aquí .
fuente
La respuesta de HenryW es buena, aunque necesitaba algunos ajustes para que funcionara como quería. En particular, también se maneja lo siguiente:
Esto es lo que funcionó para mí con esos ajustes:
HTML:
CSS:
JavaScript:
fuente
Esto funcionó para mí perfectamente.
Agregue esta clase navbar-fixed-bottom a su pie de página.
Lo usé así:
Y se establece en el fondo sobre todo el ancho.
Editar: Esto hará que el pie de página esté siempre visible, es algo que debe tener en cuenta.
fuente
Debe ajustar su
.container-fluid
div para que su pie de página adhesivo funcione, también le faltan algunas propiedades en su.wrapper
clase. Prueba esto:Elimine el
padding-top:70px
de subody
etiqueta e inclúyalo en su.container-fluid
lugar, así:Tenemos que hacer esto porque presionar
body
hacia abajo para acomodar la barra de navegación termina empujando el pie de página un poco más (70 píxeles más allá) más allá de la ventana gráfica para obtener una barra de desplazamiento. Obtenemos mejores resultados presionando el.container-fluid
div en su lugar.Luego tenemos que eliminar la
.wrapper
clase fuera de tu.container-fluid
div y envolver tu#main
div con ella, así:Su pie de página, por supuesto, debe estar fuera del
.wrapper
div, así que retírelo del div .wrapper y colóquelo afuera, así:Una vez hecho todo esto, acerque su pie de página correctamente a su
.wrapper
clase utilizando un margen negativo, de esta manera:Y eso debería funcionar, aunque probablemente tendrá que modificar algunas otras cosas para que funcione cuando se cambia el tamaño de la pantalla, como restablecer la altura en la
.wrapper
clase, así:fuente
Esta es la forma correcta de hacerlo con Twitter Bootstrap y la nueva clase navbar-fixed-bottom: (no tienes idea de cuánto tiempo pasé buscando esto)
CSS:
HTML:
fuente
¡Utiliza las utilidades flexibles integradas en Bootstrap 4! Esto es lo que se me ocurrió usando principalmente las utilidades Bootstrap 4.
.d-flex
para hacer que el div principal sea un contenedor flexible.flex-column
en el div principal para organizar sus elementos flexibles en una columnamin-height: 100vh
al div principal, ya sea con un atributo de estilo o en su CSS, para llenar la ventana verticalmente.flex-grow-1
en el contenedor, elemento para que el contenedor de contenido principal ocupe todo el espacio que queda en la altura de la ventana gráfica.fuente
min-height: 100vh
lamin-vh-100
clase de Bootstrap se puede usar.Use el componente navbar y agregue la clase .navbar-fixed-bottom:
agregar cuerpo
fuente
para manejar diseños de restricción de ancho, use lo siguiente para que no obtenga esquinas redondeadas y para que su barra de navegación esté al ras de los lados de la aplicación
entonces puede usar css para anular las clases bootstrap para ajustar la altura, la fuente y el color
fuente
Puede usar jQuery para manejar esto:
fuente
¡El único que funcionó para mí !:
fuente
La técnica más simple es probablemente usar Bootstrap
navbar-static-bottom
junto con la configuración del contenedor principal div conheight: 100vh
(nuevo porcentaje de puerto de vista CSS3 ). Esto vaciará el pie de página hasta el fondo.fuente
Probado con
Bootstrap 3.6.6
.HTML
CSS
fuente
La altura del pie de página coincide con el tamaño de la sangría inferior del elemento de ajuste.
fuente
Aquí hay una solución para la versión más reciente de Bootstrap (4.3 en el momento de la escritura) usando Flexbox.
HTML:
CSS:
Y un ejemplo de codepen: https://codepen.io/tillytoby/pen/QPdomR
fuente
Según el ejemplo de Bootstrap 4.3 , en caso de que estés perdiendo la cordura como lo hice yo, así es como funciona:
height: 100%
(h-100
clase)display: flex
(d-flex
clase)margin-top: auto
(mt-auto
clase)El problema es que en los marcos de front-end modernos a menudo tenemos envoltorios adicionales alrededor de estos elementos.
Por ejemplo, en mi caso, con Angular, compuse la vista desde una raíz de aplicación separada, un componente principal de la aplicación y un componente de pie de página, todos los cuales agregaron su elemento personalizado al DOM.
Entonces, para que funcione, tuve que agregar clases a estos elementos envolventes: un adicional
h-100
, moviendod-flex
un nivel hacia abajo y moviendomt-auto
un nivel hacia arriba desde el pie de página (así que en realidad ya no está en la clase de pie de página, sino en mi<app-footer>
costumbre elemento).fuente
class="h-100"
a la<html>
etiqueta también.Use este fragmento de código en bootstrap, funciona
fuente
Solución Bootstrap v4 +
Aquí hay una solución que no requiere repensar la estructura HTML o cualquier truco CSS adicional que implique relleno:
Tenga en cuenta que esta solución permite pies de página con alturas flexibles, lo que es especialmente útil al diseñar páginas para múltiples tamaños de pantalla con contenido ajustado cuando se reduce.
Por que esto funciona
style="height:100%;"
hace que la<html>
etiqueta ocupe todo el espacio del documento.d-flex
ajustadisplay:flex
a nuestra<body>
etiqueta.flex-column
ajustaflex-direction:column
a nuestra<body>
etiqueta. Sus hijos (<header>
,<main>
,<footer>
y cualquier otro niño directa) ahora están alineados verticalmente.h-100
estableceheight:100%
nuestra<body>
etiqueta, lo que significa que cubrirá toda la pantalla verticalmente.flex-grow-1
ajustaflex-grow:1
a nuestra<main>
, instruyéndola efectivamente para llenar cualquier espacio vertical restante, lo que equivale a la altura vertical del 100% que establecimos antes en nuestra<body>
etiqueta.Demostración de trabajo aquí: https://codepen.io/maxencemaire/pen/VwvyRQB
Consulte https://css-tricks.com/snippets/css/a-guide-to-flexbox/ para obtener más información sobre flexbox.
fuente
h-100
la clase no funciona correctamente, es mejor usarlamin-vh-100
.h-100
clase siempre depende de la altura de los elementos principales y puede no funcionar en algunos casos correctamente. Dado que queremos pie de página en la parte inferior de la ventana gráfica, sería una buena práctica usar la altura de la ventana gráfica.min-width
. Es por eso que laHTML
etiqueta tiene unheight
100% en el código. El ejemplo funciona y no veo por qué no le daría soporte para laheight
propiedad CSS a través del navegador , que en última instancia es a lo que se traduce el fragmento Bootstrap.HTML
etiqueta. En mi caso, su solución no funcionó ya que no prefiero usar el estilo en laHTML
etiqueta. Y no quiero que labody
etiqueta dependa de otro padre sino de la ventana gráfica. No tienes que ponerstyle="height:100%;"
yh-100
al mismo tiempo. Ponermin-vh-100
en el cuerpo simplemente hace el trabajo y menos código.Parece que
height:100%
se está rompiendo la 'cadena'div#main
. Intente agregarloheight:100%
y eso puede acercarlo a su objetivo.fuente
Aquí encontrará el enfoque en HAML ( http://haml.info ) con la barra de navegación en la parte superior y el pie de página en la parte inferior de la página:
fuente
Mantenlo simple.
Es posible que también deba compensar la altura del pie de página agregando un
margin-bottom
equivalente a la altura del pie de páginabody
.fuente
Aquí hay un ejemplo usando css3:
CSS:
HTML:
violín
fuente
Así es como bootstrap lo hace:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
Solo usa la fuente de la página y deberías poder ver. No te olvides de
<div id="wrap">
la parte superior.fuente
otra posible solución, solo usando consultas de medios
fuente