Я пытаюсь заставить динамически изменяющуюся боковую панель плавать в верхней правой части моих веб-страниц (но ниже заголовка и навигации), и чтобы основное содержимое страницы плавало вокруг нее (вроде «L»). "форма, за исключением того, что нижняя часть" L "действительно толстая). Ширина и высота боковой панели будут варьироваться от страницы к странице, поэтому я не могу использовать жесткие значения.
Мой CSS выглядит так:
#main {
width: 850px;
height: auto;
}
#sidebar {
width: auto;
float: right;
}
(плюс немного кода отступов, полей и цвета фона, я думаю, что это несущественно)
Мой HTML выглядит так:
<div id="wrapper">
<div id="header"> /* header stuff */ </div>
<div id="nav"> /* nav stuff */ </div>
<div id="sidebar">
/* my sidebar content, really just an h3 and a ul */
</div>
<div id="main">
/* lots of content here */
</div>
</div>
Я не совсем понимаю, почему сначала нужно использовать div на боковой панели, но этот код отлично работает в FF, Chrome, Safari (Windows) и IE8. Но в IE7 (и в IE6, который меня не волнует), основной контент перемещается вниз под нижнюю часть боковой панели, как если бы там было «clear: left» в div боковой панели (но его нет) .
У меня такое чувство, что это одна из тех злых ошибок несоответствия IE7, особенно потому, что IE8 ведет себя точно так же, как и другие браузеры. Но я понятия не имею, как это исправить.
Есть идеи? ТИА.