2009-01-26 80 views
0

的寬度。當我指定的風格height對於這裏面的任何元素,IE使得整個事情100%的寬度,而不是保持它的「自動調整大小」的寬度。IE不自動調整大小絕對定位的元素

其他瀏覽器顯示它很好,但不是IE瀏覽器。我該如何解決?

<div style="position:absolute;top:50px;left:50px;background:green;"> 
<div> 
    <div>test</div> 
    <div style="height: 20px;">this makes it 100% width in IE. why?</div> 
</div> 
</div> 

謝謝!

+0

也許你可以改變div的「顯示」價值。 – 2009-01-26 20:31:27

回答

1

這裏的東西,可能爲你工作。這是一個小黑客,但如果你想爲一些文本找到一個好的寬度,這是除了我知道的JavaScript之外的唯一方法。我們基本上是通過不讓線路斷開來強制寬度。如果您需要換行,您可以輸入<br/>

<div style="position:absolute;top:50px;left:50px;background:green;width:0px"> 
<div> 
    <div>test</div> 
    <div style="height:50px; white-space:nowrap">This is normally sized in IE6</div> 
</div> 
</div> 

關於第二個想法,不要檢查鏈接。這是舊的,不符合廣告。

老答案:

http://snippets.dzone.com/posts/show/216

我相信,非絕對定位的DIV自動擴展水平方向上填滿其容器。由於您沒有爲該div指定任何容器大小,因此會展開以填充整個頁面。

我覺得很奇怪,Firefox不擴大DIV ......我不知道這其中實際上有其「權利」。

+0

謝謝!不幸的是,我無法訪問樣式表。這個解決方案似乎也有點不妥。 – sam 2009-01-26 20:12:10

0

在猜測,我會說這是事做在IE6的hasLayout的錯誤。我的建議: 1.給包含div(絕對定位的那個)設置一個寬度。 2.發佈你想要實現的例子。我們可能會提出一個更全面的瀏覽器友好的方式來做你想做的事情。

相關問題