J'ai des pages Web qui n'ont pas beaucoup de contenu et le pied de page se trouve au milieu de la page, mais je veux que ce soit en bas.
J'ai mis toutes mes pages dans un "titulaire"
#holder {
min-height: 100%;
position:relative;
}
Et puis utilisé le CSS suivant pour mon pied de page
ul.footer {
margin-top: 10px;
text-align: center;
}
ul.footer li {
color: #333;
display: inline-block;
}
#footer {
bottom: -50px;
height: 50px;
left: 0;
position: absolute;
right: 0;
}
Le html pour mon pied de page
<div class="container">
<div class="row">
<div class="span12">
<div id="footer">
<ul class="footer">
<li>Website built by <a href="#">Fishplate</a></li>
<li>Email:[email protected]</li>
</ul>
</div>
</div>
</div>
</div>
Je voudrais garder le pied de page fluide.
Comme indiqué dans les commentaires, vous avez basé votre code sur cette solution: https://stackoverflow.com/a/8825714/681807
L’un des éléments clés de cette solution consiste à ajouter height: 100%
à html, body
afin que l’élément #footer
dispose d’une hauteur de base à partir de laquelle travailler - ceci manque dans votre code:
html,body{
height: 100%
}
Vous constaterez également que vous rencontrerez des problèmes d’utilisation de bottom: -50px
, car cela pousserait votre contenu sous le pli quand il n’y en aurait pas beaucoup. Vous devrez ajouter margin-bottom: 50px
au dernier élément avant le #footer
.
ajoutez simplement la classe navbar-fixed-bottom à votre pied de page.
<div class="footer navbar-fixed-bottom">
http://bootstrapfooter.codeplex.com/
Cela devrait résoudre votre problème.
<div id="wrap">
<div id="main" class="container clear-top">
<div class="row">
<div class="span12">
Your content here.
</div>
</div>
</div>
</div>
<footer class="footer" style="background-color:#c2c2c2">
</footer>
CSS:
html,body
{
height:100%;
}
#wrap
{
min-height: 100%;
}
#main
{
overflow:auto;
padding-bottom:150px; /* this needs to be bigger than footer height*/
}
.footer
{
position: relative;
margin-top: -150px; /* negative value of footer height */
height: 150px;
clear:both;
padding-top:20px;
color:#fff;
}
Voici un exemple utilisant css3:
CSS:
html, body {
height: 100%;
margin: 0;
}
#wrap {
padding: 10px;
min-height: -webkit-calc(100% - 100px); /* Chrome */
min-height: -moz-calc(100% - 100px); /* Firefox */
min-height: calc(100% - 100px); /* native */
}
.footer {
position: relative;
clear:both;
}
HTML:
<div id="wrap">
<div class="container clear-top">
body content....
</div>
</div>
<footer class="footer">
footer content....
</footer>
Utilisez les classes de bootstrap à votre avantage. navbar-static-bottom
le laisse en bas.
<div class="navbar-static-bottom" id="footer"></div>
La plupart des solutions mentionnées ci-dessus n'ont pas fonctionné pour moi. Cependant, la solution donnée ci-dessous fonctionne très bien:
<div class="fixed-bottom">...</div>
Cela pourrait être facilement réalisé avec CSS flex . Avoir le balisage HTML comme suit:
<html>
<body>
<div class="container"></div>
<div class="footer"></div>
</body>
</html>
Les CSS suivants doivent être utilisés:
html {
height: 100%;
}
body {
min-height: 100%;
display: flex;
flex-direction: column;
}
body > .container {
flex-grow: 1;
}
Voici CodePen pour jouer avec: https://codepen.io/webdevchars/pen/GPBqWZ