У меня есть несколько веб-страниц, которые не имеют большого количества контента, а нижний колонтитул находится посередине страницы, но я хочу, чтобы это было внизу.
Я поместил все свои страницы в "держатель"
#holder {
min-height: 100%;
position:relative;
}
И затем использовал следующий CSS для моего нижнего колонтитула
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;
}
html для моего нижнего колонтитула
<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>
Я хотел бы сохранить нижнюю часть жидкости.
Как уже говорилось в комментариях, вы основали свой код на этом решении: https://stackoverflow.com/questions/8824831/make-div-stay-at-bottom-of-pages-content-all-the-time-even-when-there-are-scrol
Одной из ключевых частей этого решения является добавление height: 100%
в html, body
, поэтому элемент #footer
имеет базовую высоту для работы - это отсутствует в вашем коде:
html,body{
height: 100%
}
Вы также обнаружите, что у вас возникнут проблемы с использованием bottom: -50px
, так как это приведет к тому, что ваш контент окажется под сгибом, когда контента недостаточно. Вам нужно будет добавить margin-bottom: 50px
к последнему элементу перед #footer
.
просто добавьте класс navbar-fixed-bottom в нижний колонтитул.
<div class="footer navbar-fixed-bottom">
http://bootstrapfooter.codeplex.com/
Это должно решить вашу проблему.
<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;
}
Используйте классы bootstrap в своих интересах. navbar-static-bottom
оставляет его внизу.
<div class="navbar-static-bottom" id="footer"></div>
Вот пример использования 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>
Большая часть вышеупомянутого решения не сработала для меня. Однако ниже данное решение работает просто отлично:
<div class="fixed-bottom">...</div>
Это может быть легко достигнуто с помощью CSS flex. Имея HTML разметку следующим образом:
<html>
<body>
<div class="container"></div>
<div class="footer"></div>
</body>
</html>
Следует использовать следующий CSS:
html {
height: 100%;
}
body {
min-height: 100%;
display: flex;
flex-direction: column;
}
body > .container {
flex-grow: 1;
}
Здесь CodePen, чтобы играть с: https://codepen.io/webdevchars/pen/GPBqWZ