Насправді прийнята відповідь від @User працюватиме лише в тому випадку, якщо вікно високе і вміст короткий. Але якщо вміст високий, а вікно коротке, він розмістить інформацію про авторські права над вмістом сторінки, а потім прокрутіть униз, щоб побачити вміст, залишить вас плаваючим повідомленням про авторські права. Це робить це рішення непотрібним для більшості сторінок (як, наприклад, ця сторінка).
Найпоширеніший спосіб зробити це продемонстрований підхід "CSS sticky footer" або дещо стрункіший варіант. Такий підхід працює чудово - ЯКЩО у вас колонтитул з фіксованою висотою.
Якщо вам потрібен колонтитул змінної висоти, який з’явиться внизу вікна, якщо вміст занадто короткий, а внизу вмісту, якщо вікно занадто коротке, що ви робите?
Проковтніть свою гордість і використовуйте стіл.
Наприклад:
* {
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 повинен був полегшити наше життя - і це в цілому - але факт полягає в тому, що навіть після всіх цих років це все ще зламаний, контрінтуїтивний безлад. Це не може вирішити кожну проблему. Це неповно.
Столи не класні, але, принаймні, поки що, вони іноді є найкращим способом вирішити проблему дизайну.