siempre poner pie pagina hacer fijar example como bootstrap abajo css twitter-bootstrap twitter-bootstrap-3 sticky-footer

css - poner - Cómo crear un pie de página adhesivo que funcione bien con Bootstrap 3



footer siempre visible (12)

Dado que está en el arranque 3, el sitio usará jQuery. Entonces, la solución también podría ser la siguiente, en lugar de tratar de jugar con CSS complejo:

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <link href="css/bootstrap.min.css" rel="stylesheet" /> <style> .my-footer { border-radius : 0px; margin : 0px; /* pesky margin below .navbar */ position : absolute; width : 100%; } </style> </head> <body> <div class="container-fluid"> <div class="row"> <!-- Content of any length --> asdfasdfasdfasdfs <br /> asdfasdfasdfasdfs <br /> asdfasdfasdfasdfs <br /> </div> </div> <div class="navbar navbar-inverse my-footer"> <div class="container-fluid"> <div class="row"> <p class="navbar-text">My footer content goes here...</p> </div> </div> </div> <script src="js/jquery-1.11.0.min.js"></script> <script src="js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var $docH = $(document).height(); // The document height will grow as the content on the page grows. $(''.my-footer'').css({ /* The default height of .navbar is 50px with a 1px border, change this 52 if you change the height of your footer. */ top: ($docH - 52) + ''px'' }); }); </script> </body> </html>

Una perspectiva diferente, espero que ayude.

Saludos cordiales.

Con o sin un navegador superior, es muy común que los sitios tengan un pie de página adhesivo. Bootstrap tiene una facilidad para crear fácilmente pies de página fijos , pero no tiene esa facilidad para crear pies de página pegajosos , hay una gran diferencia.

Buscar en Google esta pregunta revelará que cientos, si no miles, de desarrolladores tienen la misma pregunta pero no tienen una buena respuesta.

Irónicamente, la página de documentación de Bootstrap tiene un pie de página adhesivo junto con el estilo bootstrap y una barra de navegación superior fija. Sin embargo, todo es CSS personalizado, y no parte del marco. Así que una ruta obvia es tomar y refactorizar su estilo personalizado, ya que obviamente funciona bien dentro del marco Bootstrap, pero eso parece más doloroso de lo que debería ser.

Consulte este plunkr para obtener una página de ejemplo con una barra de navegación superior de Bootstrap y un pie de página indeseable y no adhesivo.

Problema:

(Gracias Softlayer - por los graphics )

Solución deseada:

Por supuesto, el pie de página también debe ser receptivo y compatible con varios navegadores ...


En caso de que tu html tenga la estructura (aproximada):

<div class="wrapper"> <div>....</div> ... <div>....</div> </div> <div class="footer"> ... </div>

entonces, el CSS más simple que arregla el pie de página en la parte inferior de la pantalla es

html, body { height: 100%; } .wrapper { min-height: calc(100vh - 80px); } .footer { height: 80px; }

... donde la altura del pie de página es 80px. calc calcula la altura de la envoltura para que sea igual a la altura de la ventana menos la altura del pie de página (80px) que está fuera de la .wrapper


He estado buscando una forma simple de hacer que el pie de página adhesivo funcione. Acabo de aplicar una class="navbar-fixed-bottom " y funcionó al instante Lo único que hay que tener en cuenta es ajustar la configuración del pie de página para dispositivos móviles. ¡Aclamaciones!


La mejor manera es hacer lo siguiente:
HTML: example/template
CSS: CSS para el pie de página adhesivo
Muestra de código HTML:

<div class="container"> <div class="page-header"> <h1>Sticky footer</h1> </div> <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p> <p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p> </div> <footer class="footer"> <div class="container"> <p class="text-muted">Place sticky footer content here.</p> </div> </footer>

Muestra de código CSS:

html { position: relative; min-height: 100%; } body { /* Margin bottom by footer height */ margin-bottom: 60px; } .footer { position: absolute; bottom: 0; width: 100%; /* Set the fixed height of the footer here */ height: 60px; background-color: #f5f5f5; }

Otro pequeño ajuste podría hacerlo más perfecto (depende de su proyecto), por lo que no afectará el pie de página en las vistas móviles.

@media (max-width:768px){ .footer{position:absolute;width:100%;} } @media (min-width:768px){ .footer{position:absolute;bottom:0;height:60px;width:100%;}}


La respuesta, como señala Schmalzy, se puede encontrar example/template en la sección de ejemplos del sitio getbootstrap.

Pero ese ejemplo no incluye un navegador superior. Para navegación superior fija con pie de página adhesivo, consulte plnkr.co/edit/4OH2ZL?p=preview plnkr, o código a continuación.

Estilo CSS:

/* Styles go here */ /* Sticky footer styles -------------------------------------------------- */ html, body { height: 100%; /* The html and body elements cannot have any padding or margin. */ } /* Wrapper for page content to push down footer */ #wrap { min-height: 100%; height: auto; /* Negative indent footer by its height */ margin: 0 auto -60px; /* Pad bottom by footer height */ padding: 0 0 60px; } /* Set the fixed height of the footer here */ #footer { height: 60px; background-color: #f5f5f5; } /* Custom page CSS -------------------------------------------------- */ /* Not required for template or sticky footer method. */ .container { width: auto; max-width: 680px; padding: 0 15px; } .container .credit { margin: 20px 0; }

Index.html:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <meta name="author" content=""> <link rel="shortcut icon" href="../../docs-assets/ico/favicon.png"> <title>Sticky Footer Template for Bootstrap</title> <!-- Bootstrap core CSS --> <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="style.css" rel="stylesheet"> <!-- Just for debugging purposes. Don''t actually copy this line! --> <!--[if lt IE 9]><script src="../../docs-assets/js/ie8-responsive-file-warning.js"></script><![endif]--> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> </head> <body> <!-- Wrap all page content here --> <div id="wrap"> <nav class="navbar navbar-default" role="navigation"> <!-- Brand and toggle get grouped for better mobile display --> <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="#">Brand</a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Link</a></li> <li><a href="#">Link</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li class="divider"></li> <li><a href="#">Separated link</a></li> <li class="divider"></li> <li><a href="#">One more separated link</a></li> </ul> </li> </ul> <form class="navbar-form navbar-left" role="search"> <div class="form-group"> <input type="text" class="form-control" placeholder="Search"> </div> <button type="submit" class="btn btn-default">Submit</button> </form> <ul class="nav navbar-nav navbar-right"> <li><a href="#">Link</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li class="divider"></li> <li><a href="#">Separated link</a></li> </ul> </li> </ul> </div><!-- /.navbar-collapse --> </nav> <!-- Begin page content --> <div class="container"> <div class="page-header"> <h1>Sticky footer</h1> </div> <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p> <p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p> </div> </div><!-- Wrap Div end --> <div id="footer"> <div class="container"> <p class="text-muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p> </div> </div> <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> </body> </html>


Las soluciones de pie de página fijo que se basan en pies de página de altura fija caen en desuso con enfoques receptivos (donde la altura del pie de página a menudo cambia en diferentes puntos de quiebre). La solución de pie de página adhesiva más simple que he visto implica el uso de display: table en un contenedor de nivel superior, por ejemplo:

http://galengidman.com/2014/03/25/responsive-flexible-height-sticky-footers-in-css/

http://timothy-long.com/responsive-sticky-footer/

http://www.visualdecree.co.uk/posts/2013/12/17/responsive-sticky-footers/


Lo que funcionó para mí fue agregar la posición relativa a la etiqueta html.

html { min-height:100%; position:relative; } body { margin-bottom:60px; } footer { position:absolute; bottom:0; height:60px; }


No estoy seguro de lo que ha intentado hasta ahora, pero es bastante simple. Solo haz esto: http://plnkr.co/edit/kmEWh7?p=preview

html, body { height: 100%; } footer { position: absolute; bottom: 0; }


Para aquellos que buscan una respuesta ligera, pueden obtener un ejemplo de trabajo simple example/template :

html { position: relative; min-height: 100%; } body { margin-bottom: 60px /* Height of the footer */ } footer { position: absolute; bottom: 0; width: 100%; height: 60px /* Example value */ }

Simplemente juegue con el margin-bottom del body para agregar espacio entre el contenido y el pie de página.


Voy a detallar lo que dijo robodo en uno de los comentarios anteriores, un enfoque realmente rápido y atractivo, y lo que es más importante, receptivo (no de altura fija) que no involucra ningún truco es usar flexbox. Si no estás limitado por el apoyo de los navegadores, es una gran solución.

HTML

<body> <div class="site-content"> Site content </div> <footer class="footer"> Footer content </footer> </body>

CSS

html { height: 100%; } body { min-height: 100%; display: flex; flex-direction: column; } .site-content { flex: 1; }

El soporte del navegador se puede verificar aquí: http://caniuse.com/#feat=flexbox

Soluciones de problemas más comunes usando flexbox: https://github.com/philipwalton/solved-by-flexbox


establecer fácilmente

position:absolute; bottom:0; width:100%;

a tu .footer

solo hazlo


<style type="text/css"> /* Sticky footer styles -------------------------------------------------- */ html, body { height: 100%; /* The html and body elements cannot have any padding or margin. */ } /* Wrapper for page content to push down footer */ #wrap { min-height: 100%; height: auto !important; height: 100%; /* Negative indent footer by it''s height */ margin: 0 auto -60px; } /* Set the fixed height of the footer here */ #push, #footer { height: 60px; } #footer { background-color: #f5f5f5; } /* Lastly, apply responsive CSS fixes as necessary */ @media (max-width: 767px) { #footer { margin-left: -20px; margin-right: -20px; padding-left: 20px; padding-right: 20px; } } /* Custom page CSS -------------------------------------------------- */ /* Not required for template or sticky footer method. */ .container { width: auto; max-width: 680px; } .container .credit { margin: 20px 0; } </style> <div id="wrap"> <!-- Begin page content --> <div class="container"> <div class="page-header"> <h1>Sticky footer</h1> </div> <p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p> <p>Use <a href="./sticky-footer-navbar.html">the sticky footer</a> with a fixed navbar if need be, too.</p> </div> <div id="push"></div> </div> <div id="footer"> <div class="container"> <p class="muted credit">Example courtesy <a href="http://martinbean.co.uk">Martin Bean</a> and <a href="http://ryanfait.com/sticky-footer/">Ryan Fait</a>.</p> </div> </div>