Я пытаюсь создать простую разметку с заголовком + содержимое + нижний колонтитул + боковая панель. Боковая панель должна плавать над заголовком и элементом контента, и если она выше, чем содержимое, она должна подтолкнуть нижний колонтитул (например: http://jsfiddle.net/gWLFN/7/).Поплавковый правый элемент толкает следующий элемент в IE7
HTML-:
<div id="wrapper">
<div id="sidebar">sidebar</div>
<div id="header">header</div>
<div id="content">content</div>
<div style="clear:both"></div>
<div id="footer">footer</div>
</div>
CSS-:
#wrapper { width:500px }
#header { width:500px; height:100px; background-color:red }
#content { width:500px; height:300px; background-color:green }
#footer { width:500px; height:100px; background-color:blue }
#sidebar {
float:right;
margin-top:50px;
width:100px;
height:500px;
background-color: yellow;
border:1px solid white;
}
Проблема заключается в том, что в IE7, боковая панель толкает вниз остальные элементы. Я думаю, это потому, что общая ширина заголовка + боковая панель больше ширины обертки. Я нашел много сообщений о float: правильная проблема в IE7, но все они предназначены для ширины, которая не превышает оболочку.
Я выбрал float: right вместо абсолютного позиционирования, потому что положение нижнего колонтитула должно зависеть от высоты боковой панели (если кто-то знает, как это сделать с абсолютным позиционированием, отлично!).
Я хотел бы получить любую идею, чтобы решить эту проблему.
Отлично! Я пробовал без ширин, но с тем приказом элементов это не сработало. С вашими изменениями все на своем месте. – mariogl