Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как прижать футер к низу страницы CSS?

Создание сайтовПродвижение сайтовCss
Анонимный вопрос
  · 40,9 K
< Frontend-разработчик /> "Это не похоже на настоящее описание" - сказал мне валидатор...  · 23 нояб 2018

Как только Вы задаете элементу свойство position : absolute, Вы выдергиваете его отрисовку из общей последовательности. То есть если у Вас будет большая страница, Вам придется ручками регулировать ее высоту, чтобы не возникло "залезания футера на контент". В наше время вполне уже можно сделать так:

<body style="display: flex; flex-direction: column; height: 100%; height: -webkit-fill-available;">

<div style="flex: 1 0 auto;">

Здесь весь контент Вашего сайта

</div>

<footer style="flex: 0 0 auto;">

Здесь футер

</footer>

</body>

естественно, поддержка каких-нибудь очень-очень старых браузеров отпадает, так что на кросс-браузерность решения не претендую, но в остальном такая верстка прекрасно себя чувствует.

P.S. спустя 6 месяцев от ответа - интересно, почему столько минусов, если из всех ответов на вопрос мой - единственный рабочий :D

ну и да, если требовался на самом деле вариант прикленного футера, то

<div class="wrapper">

<!-- все блоки сайта, что угодно -->

<div class="footer">

<!-- содержимое футера -->

</div>

</div>

и в CSS:

.wrapper {

padding-bottom : 50px;

}

.footer {

position : fixed;

height : 50px;

bottom : 0;

}

P.P.S. если совсем уж по-хорошему делать, то конечно вместо <div class="footer"> надо использовать просто <footer>

Илья, да, работает, но дело в том, что стандартная структура страницы body header main footer А у вас получается... Читать дальше

Дмитрий Сибилев, спасибо за обратную связь)

никто ведь не мешает разделить хедер и контент на два блока, а внешний флексовый контейнер лишь обертка) на разных сайтах и проектах встречаю разные структуры страниц, но да, если у Вас жестко задано body -> header + main + footer, мой подход не сработает. Буду признателен, если напишете, как Вы со своей структурой управились чуть подробнее (можно просто ссылкой на js-fiddle)

"ну и да, если требовался на самом деле вариант прикленного футера" нет блть мне нужен на половину приклееный футер

Здравствуйте, такой вопрос:

По вашему совету не работает "прилепление" футера к низу. Скорее всего я делаю что-то не так, но не понимаю что хД

Codepen: https://codepen.io/gooseruby/pen/gOMaEeR

2020-10-14_12-58-14.png

Гусик, яндекс не торопится оповещать о том, что поступил коммент-вопрос, так что если уже не актуально - что поделать :)

Вы задали обоим контейнерам (и 'container', и 'footer') свойство flex: 0 0 auto. Как я и писал, контейнеру, который мы хотим расширить, нужно дать flex: 1 0 auto

А блоки кода на кью зачем придумали?

.footer {
position : fixed;
height : 50px;
bottom : 0;
}

Разве так не лучше? Ну если и не лучше, то компактнее и понятнее точно. Да и если копировать у вас в код, то будут пустые строки.

благодарю вас, сэр
Seo-оптимизатор  · 23 сент 2018  · rotgar.ru
Прижать footer бывает не такой легкой задачей, с которой сталкиваются веб-разработчики в процессе создания сайта. Чаще всего они приходят к различным костылям, которые в самый неподходящий момент имеют свойство падать. Парадокс в том, что есть готовое решение, которое подойдет любому проекту, о котором мало кто знает. На самом деле, каждый верстальщик встречался с... Читать далее

Как только высота подвала становится "плавающей" то подвал становится поверх контента. Вариант плохой

Вопрос старый как мир и решений много, среди них: 1. Выбить из потока подвал с помощью абсолютного или фиксированного позиционирования. 2. Задать общему контейнеру min-height: 100vh и контейнеру, который находится между подвалом и шапкой сайта задать flex-grow больше, чем у соседей. Родительский контейнер при этом должен быть флексовым, да. 3. Или рассчитывать на calc()... Читать далее
Первый
Музыка, компьютеры, кино, хендмейд, программирование  · 15 нояб 2019
Решил проблему вот таким костылем) Можно конечно поиграться и с помощью @media задать разные параметры высоты под разные экраны. Но меня в целом этот вариант устроил. Можно конечно задать высоту подвала в %, но тогда в моем случае придется переделывать весь подвал. Так он чуть скрывается за пределами экрана. <div class="wrapper"> <header> <!--ШАПКА--> </header> <main> <... Читать далее
Полный комплекс онлайн-решений для бизнеса  · 9 авг 2019
Просто нужно задать минимальную высоту контентной части, вот и все. Например: Схематически у Вас сайт разделен на 3 основных блока .header, .content и .footer. Прописываете на .content {min-height:800px;}, 800px – подменяйте на свое значение и вуаля. > И еще один вариант, к родителю прописать: > display: flex; > justify-content: space-between; > flex-direction: column; Читать далее
это тоже не самый лучший вариант, так как на странице не всегда будет много контента, даи мониторы у всех разные... Читать дальше
it-специалист, инженер человеческих душ, мечтаю о basic income.   · 25 февр 2019

Футер или "подвал" сайта прижимают к низу страницы с помощью правил каскадных стилей CSS. Но сейчас вся верстка идет в стандарте HTML5, а там предусмотрен функциональный тег <footer>. Так что задачу можно решить, обернув "подвал" в специальный тег и встроив его в верстку.

ах если бы всё так просто было

Я пользуюсь flex. Этот инструмент позволяет создать разметку страницы без каких либо костылей. <!DOCTYPE HTML> <html lang="ru"> <head> <meta charset="utf-8"> <title>Строим сайт на flex-box'е</title> <style type="text/css"> html, body { height: 100%; display: flex; flex-direction: column; margin: 0; } #pagewrap { height: 100%; display: flex; flex-direction: column; justi... Читать далее
Первый
Я сыграл с футером так: сделал ему абсолютное позиционирование, bottom:0; фиксированную высоту 350px. У обертки (в моем случае body) задал min-height: calc(100vh - 350px) и position: relative; padding-bottom: 350px; Если высота футера динамичная, можно сделать через переменную, типа :root { --footer-height: 350px; } body{ position: relative; min-height: calc(100vh - var... Читать далее
Первый

Лепим футер к низу на 0px, а перед ним подставляем нужной высоты блок, чтобы прокручивался до конца контент...

<div class="otstup"></div>

<div class="lepim"></div>

.otstup{padding-bottom: 50px;float:center;width:100%;height:50px;background:none;}

.lepim{position: fixed; bottom: 0; float:center;width:100%;height:50px;}

Первый
Можно воспользоваться простым вариантом: CSS: .people { position: relative; } .footer { position: absolute; bottom: 0; } HTML: <div class="people" > <div class="footer" > Фуфутерррр </div > </div > Читать далее

Футер же залазить на контент будет :/