2011-01-08 69 views
0

我需要居中一些相對於容器的絕對定位元素。閱讀了大量文章後,似乎像下面這樣的結構將會完成這項工作。唯一的問題是IE7。不知何故,item1(div元素)的寬度在IE7上收縮爲0(即使寬度已明確指定)。 item2在所有瀏覽器中工作正常。我的問題是爲什麼在這種情況下,IE7不尊重block元素的寬度樣式?你知道任何解決方法或修復?需要幫助水平居中絕對定位的DIV

<div style="position: relative; width: 500px; height: 400px; border: thin dotted green;"> 
    <div style="position: absolute; top: 0px; left: 50%; height: 0px;"> 
     <div id="item1" style="position: relative; display: inline-block; left: -50%; border: thin dotted green; width: 300px; height: 30px;"></div> 
    </div> 
    <div style="position: absolute; top: 50px; left: 50%; height: 0px;"> 
     <input id="item2" type="button" value="Button" style="position: relative; display: inline-block; left: -50%;"> 
    </div> 
</div> 

我使用上述代碼製作了jsfiddle。感謝您的輸入。

回答

1

添加min-width = 300px;所以這行代碼看起來像

<div style="position: relative; display: inline-block; left: -50%; border: thin dotted green; width: 300px;min-width:300px; height: 30px;"></div> 
+0

謝謝亞歷克斯。這工作完美。不知道爲什麼IE7不佔用寬度,但最小寬度的伎倆。 – 2011-01-09 00:04:47