html — Как закрепить футер внизу страницы
Задать вопрос
Вопрос задан
Изменён 2 года 9 месяцев назад
Просмотрен 33k раз
Есть такая верстка:
<div> <div> Здесь header </div> <div> здесь content </div> <div> здесь fotter </div> </div>
Допустим, у меня мало контента. И футер поднят вверх. Если я прописываю в css свойство
#content{ height:100%; }
то если будет много контента, div контента не будет увеличиваться, а будет всегда height 100%.
Как выйти из такой ситуации, чтобы футер всегда был внизу вне зависимости от количества контента?
- html
- css
0
Я не гуру в CSS, но попробую предположить, что можно прописать
#content{ min-height:100%; }
Если же нужен «прибитый» к нижней части экрана, то можно футеру задать position:absolute;
#footer{ position: absolute; bottom: 0; left: 0; }
1
Если я правильно понял, то тебе нужен именно фиксированный подвал? Делается это достаточно просто:
#footer { position:fixed; left:0px; bottom:0px; height:30px; width:100%; }
html:
<section> <article>CONTENT</article> </section> <footer>FOOTER</footer>
css:
*{ padding: 0; margin: 0; } html, body { height: 100%; width: 100%; text-align: center; } section { min-height: 100%; height: auto !important; height: 100%; background: #999; } article { padding-bottom: 100px; } footer { height: 100px; margin-top: -100px; background: #f00; }
http://jsfiddle. net/4hv9y71o/
http://jsfiddle.net/w0y2mnj6/ — display: flex;
Как я понимаю необходим прижатый к низу футер? Вот пример такой разметки:
html{ height:100%; } body{ height:100%; margin:0; } #content{ width: 800px; min-height: 100%; background: #66ccff; margin:0 auto -150px; } #footer{ width: 800px; height: 150px; background: #66cc00; margin:auto; clear:both; } .left{ width:200px; float:left; outline:1px solid #9F00BF; } .right{ width:200px; float:right; outline:1px solid #9F00BF; } .center{ margin:0 210px; outline:1px solid #9F00BF; } .limiter{ clear:both; }
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <link href="style.css" type="text/css" rel="stylesheet"> <title>Макет</title> </head> <body> <div> <div>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br></div> <div>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text</div> <div>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br>text<br></div> <div></div> </div> <div></div> </body> </html>
Главная » Веб-разработка » HTML и CSS » Как прижать footer к низу страницы
HTML и CSS
Автор DeniDenx На чтение 3 мин Просмотров 2. 3к. Опубликовано Обновлено
Казалось бы такое простое действие, а выполняется через раз. Многие разработчики забивают на это, а некоторые просто не знаю как прижать footer к низу страницы. В этой статье мы поделимся самым простым и быстрым способом сделать это.
Для решения нашей задачи, мы воспользуемся технологией flexbox. Всё, что вам необходимо сделать — это разделить ваш код на две части. В первую часть нашего кода мы поместим footer
, а во вторую часть — весь остальной контент.
Почему так? Давайте разбираться!
Допустим, у вас уже имеется такой код
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1. 0" /> <link rel="stylesheet" href="style.css" /> <title>Document</title> </head> <body> <div>Lorem ipsum dolor sit amet.</div> <div>Lorem ipsum dolor sit amet.</div> <div>Lorem ipsum dolor sit amet.</div> </body> </html>
Первым делом, нам необходимо классы header
и content
завернуть в один общий класс, у нас это будет класс top
. Следующие действие, класс footer
и класс top
мы заворачиваем в еще один класс, у нас это будет класс wrapper
.
В итоге имеем такой результат:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" href="style.css" /> <title>Document</title> </head> <body> <div> <div> <div>Lorem ipsum dolor sit amet.</div> <div>Lorem ipsum dolor sit amet.</div> </div> <div>Lorem ipsum dolor sit amet.</div> </div> </body> </html>
Далее, к нам на помощь уже приходит сама технология flexbox, с её помощью мы и будем стилизовать наши созданные классы
и .wrapper
.
.wrapper { display: flex; flex-direction: column; min-height: 100vh; } .top { flex-grow: 1; }
Объяснение написанному:
display: flex;
— включаем технологию flexbox. flex-direction: column;
— расположить элементы колоннами.
min-height: 100vh;
— минимальная высота элемента.flex-grow: 1;
— занять всё доступное пространство.Готово! Теперь вы знаете как прижать footer к низу вашей страницы. Очень легко, не так ли? Быстро и красиво. Жаль, что очень многие разработчики совсем забывают про это. Также, хотелось бы напомнить, что это не единственный способ прижатия footer к низу страницы, есть и другие способы.
У многих из вас, может возникнуть вопрос, зачем создавался отдельный класс wrapper
, почему мы просто не задали эти параметры для body
. Сделать это конечно же можно, никто вам не запрещает, но это считается дурным тоном.
Старайтесь не совершать никаких манипуляций с тегом
, уж лучше создать на один класс больше, от этого ваш шаблон не станет хуже.
На этом у на всё, надеемся, что было полезно для вас. У нас недавно вышла статья про языки программирования, рекомендуем к прочтению, если вам интересна эта сфера, статья может быть очень полезной для вас.
css flexbox footer html прижать footer
Как создать нижний колонтитул, чтобы он оставался внизу веб-страницы?
|
html - Как сохранить нижний колонтитул внизу экрана
спросил
Изменено 5 лет, 7 месяцев назад
Просмотрено 354 тыс. раз
Как лучше всего настроить веб-страницу так, чтобы, если на этой веб-странице отображается очень мало содержимого/текста, нижний колонтитул отображался в нижней части окна браузера, а не на середине веб-страницы?
- HTML
- CSS
5
То, что вам нужно, это CSS Sticky Footer .
* { маржа: 0; заполнение: 0; } HTML, тело { высота: 100%; } #сворачивать { минимальная высота: 100%; } #основной { переполнение: авто; нижний отступ: 180px; /* должен быть той же высоты, что и нижний колонтитул */ } #нижний колонтитул { положение: родственник; верхнее поле: -180px; /* отрицательное значение высоты нижнего колонтитула */ высота: 180 пикселей; ясно: оба; цвет фона: красный; } /* Opera Fix благодаря Maleika (Kohoutec) */ тело: до { содержание: ""; высота: 100%; плыть налево; ширина: 0; верхнее поле: -32767px; /* спасибо, Эрик Дж. - отрицание эффекта плавающей запятой*/ }
<дел> <дел>дел>
5
Вы можете использовать position:fixed; от
до снизу
.
например:
#нижний колонтитул{ положение: фиксированное; дно:0; слева:0; }
8
HTML
CSS
#нижний колонтитул { положение: абсолютное; дно:0; ширина:100%; высота: 100 пикселей; фон:синий;//опционально }
1
Возможно, проще всего использовать положение : абсолютный
, чтобы зафиксировать его внизу, затем подходящие поля/отступы, чтобы другой текст не выходил за его пределы.
css:
<стиль> тело { поле: 0 0 20 пикселей; } .