Используйте Искусственную колонку Техника CSS для решения этой проблемы.
Использование JavaScript для решения этой проблемы эквивалентно использованию отбойного молотка для прибивания деревянной доски к полу. Если ваша планка недостаточно прочна (JavaScript отключен или браузер имеет плохую реализацию), то он ломается (как и ваше решение).
Лично я чувствую, что пометив решение JavaScript, помеченное как принятое, отправляет неправильное сообщение людям, которые наткнулись на эту страницу и считают, что это лучшее решение их проблемы.
Тот факт, что у вас есть несколько боковых панелей, не мешает вам использовать это решение. Учитывая следующее:
<div class="contentSidebarPair">
<div class="sidebar"></div>
<div class="content"></div>
</div>
Вы можете использовать следующие стили:
/* sidebar.gif is simply a 200x1px image with the bgcolor of your sidebar.
#FFF is the bgcolor of your content */
div.contentSidebarPair {
background: #FFF url('sidebar.gif') repeat-y top left;
width: 800px;
zoom: 1; /* For IE */
}
/* IE6 will not parse this but it doesn't need to */
div.contentSidebarPair:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
div.sidebar {
float: left;
width: 200px;
}
div.content {
float: left;
width: 600px;
}
Там! Просто и эффективно. Абсолютно нулевой JavaScript. И если вы хотите создать более сложные макеты (жидкостные макеты), вы можете адаптировать эту технику, используя background-position. учебник доступен здесь .