2010-06-27 8 views
0

Мой нижний колонтитул предназначен для того, чтобы оставаться в нижней части страницы, даже если над ним над ним только небольшое количество контента. Он работал до недавнего времени, и я, кажется, как-то сломал его. Можете ли вы взглянуть?липкий нижний колонтитул CSS сломанный

Заранее спасибо.

CSS:

body { 
    margin: 0; 
    padding: 0; 
    height: 100%; 
    font: 100% Helvetica, sans-serif, Arial, sans-serif; 
    color: #000; 
    background-color: #FFF; 
    background-image: url(images/BGmain.png); 
    background-repeat: repeat-x; 
} 
/*---------- 
Div styles 
----------*/ 
#container { 
    min-height: 100%; 
    position: relative; 
} 
.header { 
    padding: 0 0 230px 0; 
    text-align: center; 
    background-image: url(images/BGlogo_55top.png); 
    background-repeat: no-repeat; 
    background-position: top; 
} 
.column1 { 
    padding-bottom: 50px; 
    width: 960px; 
    margin: 0 auto; 
    position: relative; 
} 
.footer { 
    position: absolute; 
    bottom: 0; 
    width: 100%; 
    height: 50px;   
    text-align: center; 
} 
/*---------- 
Other 
----------*/ 
.plainimg { 
    border-style: none 
} 
/*---------- 
Text styles 
----------*/ 
p { 
    font-size: 80%; 
    color: #333; 
    line-height: 150%; 
    text-align: left; 
    padding: 1px 15px 1px 15px; 
} 
h1 { 
    font-size: 100%; 
    color: #000; 
    padding: 0; 
} 
h2 { 
    font-size: 100%; 
    font-weight: 500; 
    color: #000; 
    padding: 0; 
    text-align: center; 
} 
/*---------- 
Links 
----------*/ 
a.navlink:link, a.navlink:visited { 
    text-decoration: none; 
    display: inline-block; 
    color: #F1F1F1; 
    width: 120px; 
    text-align: center; 
    padding: 0 0 3px 0; 
    font-size: 80%; 
} 
a.navlink:hover, a.navlink:active { 
    text-decoration: none; 
    display: inline-block; 
    color: #FFF; 
    background-color: #000; 
    width: 120px; 
    text-align: centre; 
    padding: 0 0 3px 0; 
    font-size: 80%; 
} 
a:link, a:visited { 
    text-decoration: none; 
    color: #AEAEAE; 
} 
a:hover, a:active { 
    text-decoration: underline; 
    color: #999 
} 

Компоновка ДИВ выглядит следующим образом:

<div id=container> 
<div class=header></div> 
<div class=column1></div> 
<div class=footer></div> 
</div> 
+0

Вам не нужно копировать все ваши CSS-коды, только необходимый код будет в порядке. – vtambourine

+0

@tambourine: Я почтительно не согласен. Полный код в порядке и часто предпочтительнее и/или необходим. Лучше ошибиться, вставив слишком много, чем слишком мало. –

+0

Очевидно, что это не проблема, но ваш CSS имеет одну ошибку.Значение 'text-align: center;', строка 88. –

ответ

0

Как сказал Джейсон Маккрири, вам нужно добавить высоту к CSS html.

Использование:

html 
{ 
    height:  100%; 
    margin:  0; 
    padding: 0; 
} 

На страницах это вызывает посторонний скроллбар по некоторым причинам.

UPDATE:
Полоса прокрутки, как представляется, вызвана переполнением .footer h6.
Добавление: bottom: 2.5ex; и line-height: 1; к изображению footer, похоже, очищает это.

Но лучший способ - использовать a CSS reset.

При отсутствии сброса, как минимум, добавить:

.footer h6 { 
    margin: 0; 
    padding: 0; 
} 

.

A CSS reset также позволит свести к минимуму кросс-браузерные изменения, которые разрушают макет с платформы на платформу.

+0

Привет, Брок, я добавил html CSS, который вы поставили, но, к сожалению, с проблемами. Он работает лучше как в Firefox, так и в Chrome, и хорошо работает на странице Garden, но не в индексе. –

+0

Привет, @ user367232, Страница, http://www.gregmusser.com/test/, не показывает сброс CSS или 'bottom: 2.5ex;'. См. Мой обновленный ответ. –

+0

Привет, Брок, теперь я внес изменения, которые вы предложили. Являются ли изменения h6 адекватными или мне нужен сброс CSS? Это заставляет меня нервничать, вот и все. Я сделаю еще несколько тестов с помощью firebug. Дайте мне знать, если вы заметили что-нибудь! –

0

Взгляните на это: http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page

Когда сломался для меня в прошлом, я обычно имею что-то в содержании, которое является виновником - заполнение, недопустимая разметка и т. д. Если вы разместите ссылку на свою страницу, вы можете найти более конкретный ответ.

+0

Отличный материал. Это на www.gregmusser.com/test –

+0

РЕДАКТИРОВАТЬ: Только страница индекса и страница сада должны быть протестированы. –

+0

Похоже, что ваш тег тела не высок на 100%. Я добавил «height: 100%» в тег html для быстрой победы. Начните там и взгляните на ссылку, которую я изначально разместил. У него есть стили, которые я использовал годами. Кроме того, если у вас его нет, получите Firebug для Firefox. Это здорово для этих типов диагнозов/настроек. –

0

Вот ваша проблема:

#container { 
min-height:100%; 
position:relative; 
} 

Вот исправление:

#container { 
min-height:100%; 
} 

Хороший материал:

http://www.w3schools.com/Css/pr_class_position.asp

+0

Привет Гавра, это, кажется, ничего не влияет на меня. –

+0

Если мы говорим об этом сайте: http://www.gregmusser.com/test/, то вы делаете что-то не так, потому что у вас есть позиция относительно на #container, а элемент с позицией: абсолютный будет абсолютизирован от первого родителя элемент с положением: относительный, или если его нет, он будет позиционировать его сам из тела. Теперь я снова проверил этот сайт, нет позиции: relative на #container, а нижний колонтитул закреплен на дне ... – Gavrisimo

0

решаемая. Простое решение Просто поместите свой нижний колонтитул вне своей Контейнерной дивизии.

<div id=container> 
    <div class=header></div> 
    <div class=column1></div> 
</div> 
<div class=footer></div> 
+0

Привет Starx, я думаю, что такая компоновка будет означать, что она была постоянно застряла на дне окна браузера и не будет двигаться вниз, если я добавлю много контента. –

+0

no user367232 нижний колонтитул абсолютно позиционирован, поэтому не имеет значения, добавите или уменьшите его, он останется тем же – Starx

Смежные вопросы