Я пытаюсь создать простую разметку с заголовком + контентом + нижним колонтитулом + боковой панелью. Боковая панель должна находиться над заголовком и элементом содержимого, и если она выше содержимого, она должна сдвинуть нижний колонтитул (например, так: http://jsfiddle.net/gWLFN/7/).
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: right в IE7, но все они для ширины, которая не превосходит обертку.
Я выбрал float: right вместо абсолютного позиционирования, потому что положение нижнего колонтитула должно зависеть от высоты боковой панели (если кто-то знает, как это сделать с абсолютным позиционированием, идеально!).
Буду признателен за любую идею, чтобы решить эту проблему.