двух колоночная разметка: фон sidebar до самого футера
От: sergmann  
Дата: 16.05.13 05:55
Оценка:
Здравствуйте!
Никак не могу победить проблему. Может быть, кто-то знает решение?

Суть:
Есть двух колоночная разметка страницы, состоящая из классических блоков div: #header, #content, #sidebar и #footer.
#sidebar — справа.

Для лучшей поисковой оптимизации порядок следования блоков в html следующий:
#header
#content
#sidebar
#footer


Разметка div на одном уровне выполняется с помощью float. Таблицы не используются.

Необходимо, чтобы #sidebar имел фон (background) во всю страницу до самого #footer, но не пересекал его границы.
При этом содержимое #content может быть выше содержимого #sidebar.

Для решения задачи использую дополнительный блок div — #middle, а также css background-image.
Вот схематичный код html:
<div id="header">...</div>
<div id="middle">
    <div id="content">...</div>
    <div id="sidebar">...</div>
</div>
<div id="footer">...</div>


Вот ключевые моменты кода css:
#content{
   float: left;
   width: 650px;
}
#sidebar{
   float: right;
   width: 300px;
}
#footer{
   clear: both;
}
#middle{
   background: url(images/bg.gif) repeat-y right top;
   border: 1px solid red;
}


Вроде всё должно работать, как надо, но не работает.
Дело в том, что блок #middle почему-то сжимается в линию (это можно увидеть, благодаря border). В итоге #content и #sidebar располагаются под ним, а должны располагаться в нём.

Можно ли как-то решить эту проблему, не отказываясь от float и порядка следования блоков в html?
Serg
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.