Estoy usando Bootstrap 3 para un sitio que estoy diseñando.
Quiero tener un pie de página como esta muestra. Muestra
Tenga en cuenta que no lo quiero FIJO, por lo que bootstrap navbar-fixed-bottom no resuelve mi problema. Solo quiero que esté siempre en la parte inferior del contenido y que también responda.
Cualquier guía será muy apreciada.
EDITAR:
Lo siento si no estaba claro. Lo que sucede ahora es que cuando el cuerpo del contenido no tiene suficiente contenido. Mi pie de página se mueve hacia arriba y luego deja un espacio vacío en la parte inferior.
Esto es lo que tengo ahora para mi barra de navegación
<nav class="navbar navbar-inverse navbar-bottom" style="padding:0 0 120px 0">
<div class="container">
<div class="row">
<div class="col-sm-4">
<h5 id='footer-header'> SITEMAP </h3>
<div class="col-sm-4" style="padding: 0 0 0 0px">
<p>News</p>
<p>contact</p>
</div>
<div class="col-sm-4" style="padding: 0 0 0 0px">
<p>FAQ</p>
<p>Privacy Policy</p>
</div>
</div>
<div class="col-sm-4">
<h5 id='footer-header'> xxxx </h3>
<p>yyyyyyyyyyyyy</p>
</div>
<div class="col-sm-4">
<h5 id='footer-header'> xxxxx </h3>
<p>uuuuuuuuuuuuuuu</p>
</div>
</div>
</div>
</nav>
CSS
.navbar-bottom {
min-height: 300px;
margin-top: 100px;
background-color: #28364f;
padding-top: 35px;
color:#FFFFFF;
}
html
css
twitter-bootstrap
footer
usuario3169403
fuente
fuente
Respuestas:
Vea el ejemplo a continuación. Esto hará que su pie de página se mantenga en la parte inferior si la página tiene menos contenido y se comportará como un pie de página normal si la página tiene más contenido.
CSS
HTML
ACTUALIZACIÓN : La nueva versión de Bootstrap muestra cómo agregar un pie de página adhesivo sin agregar un contenedor. Consulte la respuesta de Jboy Flaga para obtener más detalles.
fuente
Aquí hay una solución simplificada de bootstrap (donde no necesita crear una nueva clase): http://getbootstrap.com/examples/sticky-footer-navbar/
Cuando abra esa página, haga clic derecho en un navegador y "Ver código fuente" y abra el archivo sticky-footer-navbar.css ( http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar. css )
puedes ver que solo necesitas este CSS
para este HTML
fuente
use flexbox como puede usarlo a su disposición. La solución ofrecida por Bootstrap 4 aún busca contenido superpuesto en un diseño receptivo, por ejemplo: se romperá en la vista móvil, me encuentro con el truco más ordenado es usar la demostración de la solución flexbox que se muestra aquí :( https://philipwalton.github.io / resuelto por flexbox / demos / sticky-footer / ) de esta manera no tenemos que lidiar con el problema de altura fija que es una solución obsoleta por ahora ... esta solución funciona para bootstrap 3 y 4, lo que sea que esté usando.
fuente
ACTUALIZACIÓN: Esto no responde directamente a la pregunta en su totalidad, pero otros pueden encontrar esto útil.
Este es el HTML para su pie de página receptivo
Para el CSS
NOTA: En el momento de la publicación de esta pregunta, las líneas de código anteriores no empujan el pie de página debajo del contenido de la página; pero evitará que su pie de página se arrastre a mitad de la página cuando haya poco contenido en la página. Para ver un ejemplo que empuja el pie de página debajo del contenido de la página, eche un vistazo aquí http://getbootstrap.com/examples/sticky-footer/
fuente
padding-bottom
contenido del contenedor de contenido principal igual a la altura del pie de página. Y debe hacerlo dinámicamente en la páginaload
y losresize
eventos y también en el pie de páginaDOMSubtreeModified
.Para las personas que todavía tienen dificultades y la solución respondida no funciona como usted desea, esta es la solución más simple que he encontrado.
Envuelva su contenido principal y asígnele una altura de vista mínima. Ajuste los 60 a cualquier valor que necesite su estilo.
Eso es y funciona bastante bien.
fuente
Galen Gidman ha publicado una muy buena solución al problema de un pie de página adhesivo sensible que no tiene una altura fija. Puede encontrar su solución completa en su blog: http://galengidman.com/2014/03/25/responsive-flexible-height-sticky-footers-in-css/
HTML
CSS
fuente
Para una solución CSS pura, desplácese después de la 2da
<hr>
. La primera es la respuesta inicial (dada en 2016)El principal defecto de las soluciones anteriores es que tienen una altura fija para el pie de página.
Y eso simplemente no es suficiente en el mundo real, donde las personas usan una infinidad de dispositivos y tienen el mal hábito de rotarlos cuando menos lo esperan y ** ¡Puf!** ¡ahí va el contenido de tu página detrás del pie de página!
En el mundo real, necesita una función que calcule la altura del pie de página y ajuste dinámicamente el contenido de la página
padding-bottom
para acomodar esa altura. Y debe ejecutar esta pequeña función en la páginaload
y losresize
eventos, así como en el pie de páginaDOMSubtreeModified
(en caso de que su pie de página se actualice dinámicamente de forma asincrónica o contenga elementos animados que cambien de tamaño cuando interactúa).Aquí hay una prueba de concepto, usando jQuery
v3.0.0
y Bootstrapv4-alpha
, pero no hay ninguna razón por la cual no debería funcionar en versiones inferiores de cada uno.Mostrar fragmento de código
Inicialmente, publiqué esta solución aquí, pero me di cuenta de que podría ayudar a más personas si se publica bajo esta pregunta.
Nota: Me han envuelto a propósito del
$([selector]).accomodateFooter()
como un plugin de jQuery, por lo que podría ser ejecutado en cualquier elemento DOM, como en la mayoría de los diseños que no es el$('body')
'sbottom-padding
que las necesidades de ajuste, pero alguna página envoltorio elemento conposition:relative
(por lo general el padre inmediato delfooter
) .Edición posterior (más de 3 años después de la respuesta inicial):
En este punto, ya no considero aceptable el uso de JavaScript para colocar un pie de página de contenido dinámico en la parte inferior de la página. Se puede lograr solo con CSS, usando flexbox, a la velocidad del rayo, entre navegadores.
Aquí está:
Mostrar fragmento de código
fuente
Este método utiliza un marcado mínimo. Simplemente coloque todo su contenido en un envoltorio que tenga un relleno inferior y un margen inferior negativo igual a la altura del pie de página (en mi ejemplo 100px).
fuente
O esto
fuente
Para Bootstrap:
fuente
navbar-fixed-bottom
NO es lo que resuelve el problema.Ninguna de estas soluciones me funcionó exactamente porque utilicé la clase inversa de barra de navegación en mi pie de página. Pero obtuve una solución que funcionó y sin Javascript. Se utilizó Chrome para ayudar a formar consultas de medios. La altura del pie de página cambia a medida que la pantalla cambia de tamaño, por lo que debe prestar atención a eso y ajustar en consecuencia. El contenido del pie de página (configuré id = "pie de página" para definir mi contenido) debe usar postion = absolute y bottom = 0 para mantenerlo en la parte inferior. También ancho: 100%. Aquí está mi CSS con consultas de medios. Tendrá que ajustar el ancho mínimo y el ancho máximo y agregar o eliminar algunos elementos:
fuente
Esto es lo que funcionó para mí usando Flexbox :
Fuente: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
fuente