2011-08-03 4 views
1

Я пытаюсь склонить голову к рекомендациям по позиционированию CSS. Я пытаюсь понять, как сделать липкий нижний колонтитул, но перестать быть липким, когда основная область содержимого больше не может быть сжата. Пример того, о чем я говорю, можно найти здесь http://ryanfait.com/sticky-footer/. Может кто-нибудь объяснить мне, почему нижний колонтитул перестает быть липким и, в частности, какие свойства CSS вызывают это? Для меня, поскольку я смотрю на CSS, похоже, что нижний колонтитул должен всегда оставаться липким в нижней части окна браузера, но здесь это не так. Зачем?CSS авто высота и липкий нижний колонтитул

Спасибо за помощь.

ответ

1

дать этому попытку. http://www.cssstickyfooter.com/ (ссылка более не действительна)

Это похоже на одно изображение Райана, но из памяти я думаю, что мне повезло с этим (хотя оба они очень похожи).

+0

, пожалуйста, предоставьте некоторый код, поскольку сайт, с которым вы связаны, не работает. – shivgre

+0

LOL - Ну, это было 6 с половиной лет назад! Вы удивлены, что ссылка больше не действительна? И так же, как и все в разработке frontend, его заменили новые технологии, такие как Flexbox и CSS grid. Так что нет смысла перепрограммировать этот старый код! – swisstony

+0

Да, хороший момент, но по крайней мере эта старая логика кода могла бы дать намек, даже если его устаревший/более недействительный. С точки зрения сообщества имеет смысл иметь реальный код в ответах, а не ссылки. @swisstony сделать редактирование, чтобы я мог продвигать :) – shivgre

0

Вы должны объявить колонтитула за пределами обертки и дать некоторые height для колонтитула и маржи-топ должны -(footer-height)px

<div id="wrapper"> 
    --- 
------ 
</div> 
<div id="footer"> 
</div> 

# wrapper { 
width:100%; 
height:100%; 
} 
#footer { 
width:100%; 
height:25px; 
margin:-25px 0px 0px 0px; 
background:#ccc; 
} 
0

Вот краткий обзор макета, который я использую довольно последовательно в качестве основы для проектов, требующих липкого нижнего колонтитула. Не уверен, где я изначально получил весь код, но он был собран вместе довольно долгое время.

http://jsfiddle.net/biznuge/thbuf/8/

Вы должны быть в состоянии видеть на скрипке, что вам требуется элемент «#container», который будет обернуть всю страницу. это дает вам высоту 100% (обратите внимание на хаки, т. е. присутствующие в css), и позволяет и дочерние элементы этого элемента «контейнера» получать высоту или позицию относительно нее.

Ловушки этого метода является:

  • Вы должны предоставить некоторую обивку/маржу в нижней части «» #main элемента так, что сноска смещается дальше, чем это естественно будет, поэтому необходимо знать, по крайней мере, широкий диапазон того, что должно быть в нижнем колонтитуле .
  • IE не кажется (< = IE8 не тестируются 9) распознавать браузер размер событий, если вы только изменить размер нижнего края окна браузера, так и в , что частный случай липкость потерпит неудачу, пока горизонтальная изменение размера не было также представлен как событие.
  • если вы хотите фиксированную ширину в макете вы должны поместить этот ограничение не на элементе «#container», но на «#page» элемента, и, возможно, ввести дополнительные элементы под «#footer», чтобы обеспечить любые ограничения ширины.

Удачи!

 Смежные вопросы

  • Нет связанных вопросов^_^