css нижний колонтитул придерживаться нижней части браузера?
У меня проблема с моим сайтом http://artygirl.co.uk/pixie/about/ Я не могу заставить нижний колонтитул автоматически придерживаться нижней части браузера и отображать остальную часть моего фона. Есть ли решение лучше, чем использование позиции: фиксированная или абсолютная?
Я думаю, что, возможно, есть другие стили, которые не соответствуют тестам, которые я выполняю в firebug.
Спасибо за вашу помощь С уважением Джуди
10 ответов
Это всегда немного сложно, вы можете увеличить min-height
вашей области контента, но даже тогда, если у кого-то действительно большой экран, вы увидите то же самое.
Вы можете использовать немного JavaScript, чтобы увеличить min-height
если у кого-то есть огромный видовой экран, но это все равно не элегантно. Я не уверен, что существует решение только для CSS.
Если вы хотите попробовать приведенный выше код, который я только что разместил здесь: все еще сложно определить наличие полосы прокрутки с помощью jQuery? может быть полезным для вас.
CSS:
.podbar {
bottom:0;
position:fixed;
z-index:150;
_position:absolute;
_top:expression(eval(document.documentElement.scrollTop+
(document.documentElement.clientHeight-this.offsetHeight)));
height:35px;
}
HTML:
<div class="podbar">
Put your footer here
</div>
Это создаст наклейку, которая всегда будет отображаться внизу страницы и наложит все. Просто добавьте дополнительное поле / отступ в нижней части вашего основного контейнера div, равного высоте нижнего колонтитула +5px
так что это не накладывается на ваш контент.
Работает практически во всех браузерах, которые я тестировал.
Ранее в этой статье я использовал технику: CSS-макет: высота 100% с верхним и нижним колонтитулами. Это требует дополнительной разметки в вашем HTML.
Установите высоту html и body на 100%, вставьте контейнерный контейнер с минимальной высотой 100% и относительной позицией и вложите нижний колонтитул с позицией: absolute, bottom: 0;
/* css */
html, body {
height: 100%;
}
#container {
min-height: 100%;
position: relative;
}
#footer {
position: absolute;
bottom: 0;
}
<!-- html -->
<html>
<head></head>
<body>
<div id="container">
<div id="footer"></div>
</div>
</body>
</html>
Здесь у вас есть пример и объяснение http://ryanfait.com/sticky-footer/
Я понял это. HTML имел свойство css для фона, говоря белый цвет.
Я всегда предпочитаю нижние колонтитулы из-за разного содержания на страницах. Я использую верхний край 5em для своих нижних колонтитулов. Чаще всего мы знаем высоту содержимого, которое может появляться на страницах.
Не используйте позицию: абсолютное использование позиции: относительное вместо.
.footer {
z-index:99;
position:relative;
left:0;
right:0;
bottom:0;
}
position: absolute прикрепит его к нижней части экрана, в то время как относительное положение не будет игнорировать другие элементы div, поэтому оно останется в нижней части полной страницы.
Вы могли бы установить min-height
на #content
, Это не будет фиксировать нижний колонтитул в нижней части браузера, но гарантирует, что вы всегда можете увидеть определенное количество фона.
В качестве альтернативы, используя JavaScript, вы можете определить высоту окна браузера и затем вычислить min-height
за #content
и применить его с помощью JavaScript. Это гарантирует, что нижний колонтитул всегда находится в правильном месте.