以下布局在除 Internet Explorer 8 之外的所有浏览器(Firefox、Chrome、Opera)中都能正常工作:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css"/>
<head>
<body>
<div id="divMain" class="CMain">
<div id="divL" class="CLeft">
</div>
<div id="divR" class="CRight">
</div>
</div>
</body>
</html>
CSS:
.CMain {
position: absolute;
overflow: hidden;
top: 20px;
left: 20px;
right: 20px;
height: 75%;
min-width: 500px;
min-height: 400px;
max-height: 550px;
background-color: cyan;
border: 1px solid #000000;
margin: 0 auto;
}
.CLeft {
position: absolute;
overflow: visible;
top: 0px;
right: 50%;
width: 49%;
height: 100%;
min-width: 200px;
min-height: 450px;
max-width: 450px;
max-height: 550px;
background-color: yellow;
border: 1px solid #000000;
margin: 0 auto;
padding: 0px;
}
.CRight{
position: absolute;
overflow: visible;
top: 0px;
left: 50%;
width: 49%;
height: 100%;
min-width: 200px;
min-height: 450px;
max-width: 450px;
max-height: 550px;
background-color: blue;
border: 1px solid #000000;
margin: 0 auto;
padding: 0px;
}
两个内部 div 应该在主 div 的中心背靠背,它们显然在除 IE8 之外的所有浏览器中。在 IE8 中,左 div 位于左侧,而不是中心。
难道我做错了什么?(请不要建议删除最小/最大宽度/高度约束,它们是必需的)。任何建议将不胜感激。
这是这个设置的一个小提琴:http: //jsfiddle.net/fNtJU/
imageshack截图链接ie8:http: //img831.imageshack.us/img831/3838/ie8g.jpg