Зафиксировать футер

  • 11 Ответов
  • 4928 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

slepoy

  • *****
  • 713
  • 21
  • Тотальная шизофазия
Зафиксировать футер
« : 24.07.2011, 04:53:40 »
Здравствуйте. На сайте http://69game.ru/ мне не удалось "зафиксировать" содержимое футера (счетчики). Прошу сравнить главную страницу с внутренней, где помимо счетчиков есть немного текста http://69game.ru/dress-up.html и дпть совет.
Спасибо.
Помог? Поставь(те) плюс в репутацию.

*

isis

  • **
  • 23
  • 2
Re: Зафиксировать футер
« Ответ #1 : 24.07.2011, 06:12:51 »
Ширина и высота блока #cp ?

*

slepoy

  • *****
  • 713
  • 21
  • Тотальная шизофазия
Re: Зафиксировать футер
« Ответ #2 : 24.07.2011, 06:19:58 »
Код: css
#cp{
float:right;
color:#fff;
top: 70px;
padding-right:15%;
position: relative;}
Ширина подойдет auto (до 980px). Высота - на глаз равная нижней оранжевой полосе. т.е. все счетчики и копирайт должны держаться на этой полосе в футере. мне пока не удалось.
Помог? Поставь(те) плюс в репутацию.

*

al-teen

  • *****
  • 2458
  • 213
  • im
Re: Зафиксировать футер
« Ответ #3 : 24.07.2011, 06:28:37 »
Код
это .css
 * {
 margin: 0;
 padding: 0;
 border: 0;
 }

 HTML, body {
 width: 100%;
 height: 100%;
 }

 * HTML #container {
 height: 100%;
 }

 body {
 background: #fff;
 color: #333;
 }

 #container {
 position: relative;
 width: 960px;
 margin: 0 auto;
 min-height: 100%;
 }

 .clearfloat {
 clear: both;
 }

 .empty {
 height: 50px;
 }

 #footer {
 position: relative;
 background: #333;
 width: 960px;
 height: 50px;
 color: #ccc;
 font-size: .9em;
 margin: -50px auto 0;
 }

 это .html
 <html>
 <head></head>
 <body>
 <div id="container">
 <div id="header"></div>
 <div id="leftside"></div>
 <div id="rightside"></div>
 <div class="clearfloat"></div>
 <div class="empty"></div>
 </div>
 <div id="footer"></div>
 </body>
 </html>

*

slepoy

  • *****
  • 713
  • 21
  • Тотальная шизофазия
Re: Зафиксировать футер
« Ответ #4 : 24.07.2011, 06:38:41 »
al-teen, это никак не влияет на футер, который "плавает" в зависимости от объема текстового наполнения в подвале.
Помог? Поставь(те) плюс в репутацию.

*

al-teen

  • *****
  • 2458
  • 213
  • im
Re: Зафиксировать футер
« Ответ #5 : 24.07.2011, 06:44:13 »
Принцип тот же самый. Или предлагаете за вас его вписать как надо и выдать готовое решение?

*

isis

  • **
  • 23
  • 2
Re: Зафиксировать футер
« Ответ #6 : 24.07.2011, 06:49:53 »
Я что-то никак не могу понять: вам нужно что-бы и текст и счетчик находились в оранжевой полосе, но при этом ширина этой полосы (79пх) должна подстраиваться под неизвестное количество счетчиков и текста?
Сам счетчик я зафиксировал, но это бессмысленно, если в том же контейнере будет и текст. 

*

slepoy

  • *****
  • 713
  • 21
  • Тотальная шизофазия
Re: Зафиксировать футер
« Ответ #7 : 24.07.2011, 06:58:20 »
три счетчика одной строкой и текст (белого цвета) "© 2010-2011 флеш игры на 69Game.Ru...." второй. - только они поверх оранжево полосы. Сам я уже давно окончательно запутался :[
Помог? Поставь(те) плюс в репутацию.

*

isis

  • **
  • 23
  • 2
Re: Зафиксировать футер
« Ответ #8 : 24.07.2011, 07:48:30 »
разделяете текст и счетчики во вспомогательные блоки с классами .copyright и .counters соответственно. Отодвигаете основной блок на ширину мальчика и полностью вниз (для жесткой фиксации), потом делаете отступ вверх на ширину полоски. По аналогии подконтейнер со счетчиками. Вот готовый код:
Код
#cp { position:relative; margin-left:134px; top:100%; margin-top:-89px; padding:0px; float:none; }
#cp .counters { position:relative; left:50%; margin-left:-107px; }
#cp .copyright { text-align:center; left:0px; }
Проверенно в опере, старом FF2, и IE7. Можно смело копипастить.

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Re: Зафиксировать футер
« Ответ #9 : 02.08.2011, 03:30:00 »
Задача тривиальная. al-teen в принципе правильно всё написал.
В двух словах:
Разметка:
Код
<html>
  <body>
    <div id="wrap">
      <div id="wrap_fix"></div>
    </div>
    <div id="footer">футер</div>
  </body>
</html>

Стили:
Код
html, body {height:100%; width:100%;}
#wrap {min-height:100%; width:100%; margin-bottom:-100500px;}
#wrap_fix, #footer {height:100500px;}

Как это работает:
Вся фишка в том, что если указать явно высоту body и HTML, то мы так же можем прописать относительную высоту непосредственного потомка. Но только непосредственного, т.е. первого уровня.
Далее мы просто делим весь сайт горизонтально на два блока. Враперу прописываем минимальную высоту равную окну браузера и отрицательный отступ снизу равный высоте футера. Теперь футер всегда "прибит". Врап_фикс нужен для того, чтобы контент под футер не наползал. Можно обойтись и без лишнего элемента, с помощью позиционирования, например. Но на практике замечены периодические глюки в Опере. Ну и не забываем, что для шестого осла надо или уменьшить в два раза значение margin-bottom или прописать блоку display:inline.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!

*

fixbob

  • **
  • 10
  • 0
Re: Зафиксировать футер
« Ответ #10 : 12.04.2015, 18:03:58 »
Задача тривиальная. al-teen в принципе правильно всё написал.
В двух словах:
Разметка:
Код
<html>
  <body>
    <div id="wrap">
      <div id="wrap_fix"></div>
    </div>
    <div id="footer">футер</div>
  </body>
</html>

Стили:
Код
html, body {height:100%; width:100%;}
#wrap {min-height:100%; width:100%; margin-bottom:-100500px;}
#wrap_fix, #footer {height:100500px;}

Как это работает:
Вся фишка в том, что если указать явно высоту body и HTML, то мы так же можем прописать относительную высоту непосредственного потомка. Но только непосредственного, т.е. первого уровня.
Далее мы просто делим весь сайт горизонтально на два блока. wrapperу прописываем минимальную высоту равную окну браузера и отрицательный отступ снизу равный высоте футера. Теперь футер всегда "прибит". Врап_фикс нужен для того, чтобы контент под футер не наползал. Можно обойтись и без лишнего элемента, с помощью позиционирования, например. Но на практике замечены периодические глюки в Opera. Ну и не забываем, что для шестого осла надо или уменьшить в два раза значение margin-bottom или прописать блоку display:inline.

очень сомнительный вариант - думаю что еще и не рабочий

Хотя пардон автору - пубдикация 2011 года сейчас несколько по другому все работает
« Последнее редактирование: 12.04.2015, 18:08:45 от fixbob »

*

Shustry

  • *****
  • 6426
  • 733
  • Рисую дизайны
Re: Зафиксировать футер
« Ответ #11 : 13.04.2015, 00:43:45 »
очень сомнительный вариант - думаю что еще и не рабочий
Хотя пардон автору - пубдикация 2011 года сейчас несколько по другому все работает
При допущении, что футер фиксированной высоты, вариант рабочий. Был рабочий, сейчас рабочий и будет работать всегда. Я подробно описал механизм способа. Чем аргументированы сомнения?
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!