2010-08-24 85 views
0

在我的網站,我有兩個div - 左和右。兩者都包含在一個包裝div。這裏是我的代碼:在IE中真的令人沮喪的CSS降序

#wrapper{ 
    width:1000px; 
    height:750px; 
    margin:auto; 
} 

#left{ 
    width:500px; 
    height:750px; 
    float:left; 
    position:relative; 
} 

#right{ 
    width:500px; 
    height:750px; 
    float:right; 
    position:relative; 
} 

在Chrome中,沒有問題。

在Firefox中,沒問題。

在Safari中,沒問題。

在Opera,沒問題

在IE瀏覽器中,#right div位於同一位置水平,垂直,但它的#left格下面。

我已經嘗試了幾種不同的技術來解決這個問題。將包裝線高度設置爲0,將右側顯示設置爲內聯,減小右側和左側div的大小(我認爲可能存在邊距/填充問題)。我現在已經沒有想法了,有沒有人可以提供這個問題的任何幫助?

在所有瀏覽器(除了IE): alt text

在IE: alt text

+0

如果你總結了IE從我們的生活中獲得的時間這樣的問題,你會看到一些與程序員種族滅絕相媲美的東西。 – 2010-08-24 13:46:34

回答

2

您發佈的CSS沒有任何問題。它將在all browsers as expected(我在我的例子中減少了寬度)工作。

發生了什麼事情是,您的某列中有一個元素,它強制使#left#right的寬度大於500px。解決這個問題的最簡單方法是開始刪除元素,直到float drop消失。然後,您可以確定是否存在違規元素的解決方案(即設置其寬度或設置overflow: hiddenscroll)。

+0

謝謝,我會掃描我的代碼爲罪魁禍首:) Cheers – 2010-08-24 13:37:02

+0

找到它,感謝您的幫助Pat – 2010-08-24 15:13:31

1

嘗試使用float:left兩者的#right#left的div。您也可以取出position: relative

+0

我試過這個,不幸的是,現在右側的div直接出現在左下方,而不是旁邊 - 下面,如果你知道我的意思 – 2010-08-24 13:19:31

+0

@Daniel Hanly - 試着將'#right' div的左邊距設置爲'#左'一個。您可能還需要將左側的像素縮小几個像素。 – derekerdmann 2010-08-24 13:37:10

1

將左右div分別設爲float:left

+0

我試過這個,不幸的是右側的div現在直接出現在左下方,而不是旁邊 - 下面,如果你知道我的意思 – 2010-08-24 13:21:38

+0

檢查你的寬度/填充/邊距...是否有任何擴大左或右div ?如果是這樣的話,它會被推下。 – 2010-08-24 13:29:52

+0

請問我們可以鏈接到一個可行的例子嗎? – 2010-08-24 13:30:09