2013-09-08 12 views
0

У меня проблема с фоном нижнего колонтитула. Похоже, высота #pagefooter равна 0, а цвет фона применяется только к отступу, по вертикали которой 2x 25 пикселей.Заполнение путаницы цветом фона

Я пробовал несколько вещей, но я не нашел решения. Что здесь не так?

/// HTML-

<div id="pagefooter"> 
    <footer> 
     <nav id="f1" class="footernav"> 
      <h1>Misc</h1> 
      </br> 
      <ul> 
       <li> 
        <a href="#">Lorem</a> 
       </li> 
       <li> 
        <a href="#">ipsum</a> 
       <li> 
       <li> 
        <a href="#">dolor</a> 
       </li> 
       <li> 
        <a href="#">sit</a> 
       </li> 
       <li> 
        <a href="#">amet</a> 
       </li> 
      </ul> 
     </nav> 
     <nav id="f2" class="footernav"> 
      <!-- SOME MENU --> 
     </nav> 
     <nav id="f3" class="footernav"> 
      <!-- SOME MENU --> 
     </nav> 
     <nav id="f4" class="footernav"> 
      <!-- SOME MENU --> 
     </nav> 
    </footer> 
</div> 

/// CSS

#pagefooter { 
    background-color: #1a1a1a; 
    padding:25px 100px; 
} 
.footernav { 
    float:left; 
    width:25%; 
    margin-bottom: 35px; 
} 

Вот пример: http://jsfiddle.net/AR3AC/

+0

Не могли бы вы четко объяснить, что является результатом – Idipaolo

+1

Цвет фона всего #pagefooter должен быть # 1a1a1a. От «сверху донизу»;) – schliflo

ответ

3

В принципе, #pagefooter содержит только плавающие элементы, которые не имеют высоты (и, следовательно, не имеют цвета фона). Чтобы обойти эту проблему, установите свойство переполнения авто:

#pagefooter { 
    background-color: #1a1a1a; 
    padding: 25px 100px; 
    overflow: auto; 
} 
+0

работает как шарм. Спасибо за объяснение;) – schliflo

1

Высота PageFooter никогда не устанавливается, насколько я могу рассказать. Добавьте строку в #pagefooter так как это явно указать высоту вы хотите:

#pagefooter { 
    background-color: #aaa; 
    height: 100px; 
    padding:25px 100px; 
} 

Я не уверен, что ответ на ваш вопрос, но это хорошее место, чтобы начать.

+0

Я не хочу устанавливать определенную высоту, так как я не знаю, сколько ли я пойду иметь. Он отлично работает с решением Бена. – schliflo

0

Теперь и тогда я получу проблемы с переполнением: авто. В случае, если вы это сделаете, еще один способ справиться с этим - поставить пустой очищающий div прямо перед этим. Это может быть только <div style="clear:both"></div>. (Обычно я делаю класс «.clear», который имеет четкое представление: и то, и другое. Упрощает эту проблему, просто тестируя с помощью <div class="clear"></div>, чтобы узнать, являются ли проблемы с плавающей точкой.

+0

Поплавки не были проблемой здесь, я думаю, но хорошо знать некоторые другие методы, чтобы попробовать;) – schliflo

+0

На самом деле, плавает. Проблема - причина переполнения: авто, которое предложил Бен, потому что он заставляет контейнер для распознавания размера плавающего контента (плавающий контент существует вне потока страниц и, следовательно, обычно не имеет высоты, поскольку содержит элементы). Проблема в том, что если содержимое обрезается размером контейнера, переполнение: авто заставляет полосы прокрутки, которые вы, возможно, не захотите. Очищающий div существенно заставляет родительский div видеть размер плавающего содержимого, а затем позволяет применять правило переполнения, как обычно. – Octavian

+0

PS - Как я писал, это звучало немного глупо. Извините за это - совсем не должно быть грубо. Просто хотел объяснить, что происходит! :) – Octavian