Вы должны вызвать свойство hasLayout
(вещь IE ...) в #footer
.
Ширина и высота активируют его, если вы не хотите устанавливать ширину или высоту, вы можете использовать свойство zoom
только для IE в CSS.
<!DOCTYPE html>
<html>
<head>
<title>Layout problem!</title>
<style type="text/css">
div#footer
{
padding: 10px;
color: #fff;
background-color: #484848;
position: relative;
text-align: center;
zoom: 1;
}
div#footer input
{
margin: 5px 15px;
position: absolute;
top: 0;
}
div#footer input.right
{
right: 0;
}
div#footer input.left
{
left: 0;
}
</style>
</head>
<body>
<div id="footer">
<input class="left" type="button" value="Left">
Some text in the middle
<input class="right" type="button" value="Right">
</div>
</body>
</html>
IIRC, в IE, элементы имеют два различных поведения макета, один, если hasLayout
равен true
, и другой, если это false
. Убедившись, что он установлен на true
, можно исправить множество странных проблем с макетом, подобных этой.