На самом деле, принятый ответ @User будет работать только в том случае, если окно высокое, а содержимое короткое. Но если содержимое длинное, а окно короткое, оно поместит информацию об авторских правах поверх содержимого страницы, а затем прокрутив вниз, чтобы увидеть содержимое, вы получите плавающее уведомление об авторских правах. Это делает это решение бесполезным для большинства страниц (например, этой страницы).
Наиболее распространенный способ сделать это - продемонстрированный подход «липкий нижний колонтитул CSS», или немного более тонкий вариант. Этот подход прекрасно работает - если у вас есть нижний колонтитул фиксированной высоты.
Если вам нужен нижний колонтитул переменной высоты, который будет отображаться в нижней части окна, если содержимое слишком короткое, и в нижней части содержимого, если окно слишком короткое, что вы будете делать?
Проглоти свою гордость и используй стол.
Например:
* {
padding: 0;
margin: 0;
}
html, body {
height: 100%;
}
#container {
height: 100%;
border-collapse: collapse;
}
<!DOCTYPE html>
<html>
<body>
<table id="container">
<tr>
<td valign="top">
<div id="main">Lorem ipsum, etc.</div>
</td>
</tr>
<tr>
<td valign="bottom">
<div id="footer">Copyright some evil company...</div>
</td>
</tr>
</table>
</body>
</html>
Попробуйте это. Это будет работать для любого размера окна, для любого количества контента, для любого размера нижнего колонтитула, в любом браузере ... даже IE6.
Если вам не хватает мысли об использовании таблицы для разметки, найдите секунду, чтобы спросить себя, почему. Предполагалось, что CSS сделает нашу жизнь проще - и в целом так оно и есть - но факт в том, что даже после всех этих лет это все еще сломанный, нелогичный беспорядок. Это не может решить все проблемы. Это неполно
Таблицы не крутые, но, по крайней мере, на данный момент, они иногда являются лучшим способом решения проблемы дизайна.