如何在IE7中居中一个绝对定位的div?

Jon*_*ran 5 html css layout internet-explorer internet-explorer-7

为布局更新提供的上下文

我的页面结构比较简单.该页面由两个div组成,两个div都是绝对定位的.一个在另一个中心.在此输入图像描述

<div id="protocol_index_body_wrapper">
    <div id="protocol_index_body">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

哪个有相应的CSS:

#protocol_index_body_wrapper {
    background: url("/images/stripe.png") repeat scroll 0 0 transparent;
    position: absolute;
    top: 120px;
    left: 0px;
    right: 0px;
    bottom: 10px;
}
#protocol_index_body {
    width: 960px;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

}
Run Code Online (Sandbox Code Playgroud)

预期的行为见上图.IE8,Firefox和Chrome中存在此行为.但是,在IE7中,应该居中的div与左侧齐平.有任何想法吗?

Mos*_*e L -1

text-align:center到包装器,或者 <div align=center>(丑陋,我知道,但有效)

或者用JS:

document.getElementById("protocol_index_body_wrapper").style.marginRight = (document.body.clientWidth - 50)/2_+"px"
Run Code Online (Sandbox Code Playgroud)

仅适用于 IE6+。