J'utilise Bootstrap 3 pour un site que je conçois.
Je veux avoir un pied de page comme cet exemple. Échantillon
Veuillez noter que je ne veux pas qu'il soit FIXE, donc bootstrap navbar-fixed-bottom ne résout pas mon problème. Je veux juste que ce soit toujours au bas du contenu et aussi réactif.
Tout guide sera très apprécié.
ÉDITER:
Désolé si je n'étais pas clair. Ce qui se passe maintenant, c'est que lorsque le corps du contenu n'a pas assez de contenu. Mon pied de page monte puis laisse un espace vide en bas.
C'est ce que j'ai maintenant pour ma barre de navigation
<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
user3169403
la source
la source
Réponses:
Voir l'exemple ci-dessous. Cela positionnera votre pied de page pour qu'il reste en bas si la page a moins de contenu et se comporte comme un pied de page normal si la page a plus de contenu.
CSS
HTML
MISE À JOUR : La nouvelle version de Bootstrap montre comment ajouter un pied de page collant sans ajouter de wrapper. Veuillez consulter la réponse de Jboy Flaga pour plus de détails.
la source
Il existe une solution simplifiée de bootstrap ici (où vous n'avez pas besoin de créer une nouvelle classe): http://getbootstrap.com/examples/sticky-footer-navbar/
Lorsque vous ouvrez cette page, faites un clic droit sur un navigateur et "Afficher la source" et ouvrez le fichier sticky-footer-navbar.css ( http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar. css )
vous pouvez voir que vous n'avez besoin que de ce CSS
pour ce HTML
la source
utilisez flexbox car vous pouvez l'utiliser à votre disposition. La solution offerte par bootstrap 4 recherche toujours le contenu de chevauchement dans une mise en page réactive, par exemple: il se cassera dans la vue mobile, je tombe sur l'astuce la plus soignée est d'utiliser la démo de la solution flexbox présentée ici: ( https://philipwalton.github.io / résolved-by-flexbox / demos / sticky-footer / ) de cette façon, nous n'avons pas à traiter le problème de hauteur fixe qui est une solution obsolète maintenant ... cette solution fonctionne pour bootstrap 3 et 4, quel que soit celui que vous utilisez.
la source
MISE À JOUR: Cela ne répond pas directement à la question dans son intégralité, mais d'autres peuvent trouver cela utile.
Ceci est le code HTML de votre pied de page réactif
Pour le CSS
REMARQUE: au moment de la publication de cette question, les lignes de code ci-dessus ne poussent pas le pied de page sous le contenu de la page; mais cela empêchera votre pied de page d'explorer à mi-chemin de la page lorsqu'il y a peu de contenu sur la page. Pour un exemple qui pousse le pied de page sous le contenu de la page, jetez un œil ici http://getbootstrap.com/examples/sticky-footer/
la source
padding-bottom
du conteneur de contenu principal égal à la hauteur du pied de page. Et vous devez le faire de manière dynamique sur la pageload
et lesresize
événements et aussi sur le pied de pageDOMSubtreeModified
.Pour les personnes qui ont encore des difficultés et que la solution ne fonctionne pas exactement comme vous le souhaitez, voici la solution la plus simple que j'ai trouvée.
Enveloppez votre contenu principal et attribuez-lui une hauteur de vue minimale. Ajustez le 60 à la valeur dont votre style a besoin.
C'est tout et ça marche plutôt bien.
la source
Galen Gidman a publié une très bonne solution au problème d'un pied de page collant réactif qui n'a pas de hauteur fixe. Vous pouvez trouver sa solution complète sur son blog: http://galengidman.com/2014/03/25/responsive-flexible-height-sticky-footers-in-css/
HTML
CSS
la source
Pour une solution CSS pure, faites défiler après le 2ème
<hr>
. La première est la réponse initiale (donnée en 2016)Le défaut majeur des solutions ci-dessus est qu'elles ont une hauteur fixe pour le pied de page.
Et cela ne suffit pas dans le monde réel, où les gens utilisent un million d'appareils et ont cette mauvaise habitude de les faire pivoter quand on s'y attend le moins et ** Poof!** il y a le contenu de votre page derrière le pied de page!
Dans le monde réel, vous avez besoin d'une fonction qui calcule la hauteur du pied de page et ajuste dynamiquement le contenu de la page
padding-bottom
pour s'adapter à cette hauteur. Et vous devez exécuter cette petite fonction sur la pageload
et lesresize
événements ainsi que sur le pied de pageDOMSubtreeModified
(juste au cas où votre pied de page serait mis à jour dynamiquement de manière asynchrone ou s'il contiendrait des éléments animés qui changent de taille lorsqu'ils interagissent avec).Voici une preuve de concept, utilisant jQuery
v3.0.0
et Bootstrapv4-alpha
, mais il n'y a aucune raison pour que cela ne fonctionne pas sur les versions inférieures de chacun.Afficher l'extrait de code
Au départ, j'ai publié cette solution ici, mais j'ai réalisé qu'elle pourrait aider plus de personnes si elle était publiée sous cette question.
Note: J'ai délibérément enveloppé le
$([selector]).accomodateFooter()
comme un plugin jQuery, il pourrait être exécuté sur tout élément DOM, comme dans la plupart des dispositions n'est pas le$('body')
« sbottom-padding
que les besoins de réglage, mais certaines pages wrapper élément avecposition:relative
(habituellement le parent immédiat dufooter
) .Modification ultérieure (3 ans et plus après la réponse initiale):
À ce stade, je ne considère plus acceptable d'utiliser JavaScript pour positionner un pied de page de contenu dynamique en bas de page. Cela peut être réalisé avec CSS seul, en utilisant flexbox, ultra-rapide, multi-navigateur.
C'est ici:
Afficher l'extrait de code
la source
Cette méthode utilise un balisage minimal. Mettez simplement tout votre contenu dans un .wrapper qui a un fond de remplissage et une marge négative égale à la hauteur du pied de page (dans mon exemple 100px).
la source
Ou ca
la source
Pour Bootstrap:
la source
navbar-fixed-bottom
n'est PAS ce qui résout le problème.Aucune de ces solutions ne fonctionnait parfaitement pour moi car j'ai utilisé la classe navbar-inverse dans mon pied de page. Mais j'ai eu une solution qui a fonctionné et sans Javascript. Utilisation de Chrome pour aider à former des requêtes multimédias. La hauteur du pied de page change à mesure que l'écran se redimensionne, vous devez donc faire attention à cela et ajuster en conséquence. Le contenu de votre pied de page (j'ai défini id = "footer" pour définir mon contenu) doit utiliser postion = absolute et bottom = 0 pour le garder en bas. Aussi largeur: 100%. Voici mon CSS avec des requêtes multimédias. Vous devrez ajuster la largeur minimale et la largeur maximale et ajouter ou supprimer certains éléments:
la source
C'est ce qui a fonctionné pour moi avec Flexbox :
Source: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
la source