2010-11-15 158 views
1

我已經創建了這個人造的例子來說明我的問題。有兩段之間有一個div。 div的高度和行高已經設置爲0,所有邊距也是0.我認爲這兩個段落彼此相鄰,沒有任何div間距,但IE6並非如此。它似乎在所有其他瀏覽器中都能正常工作。即使邊距和填充爲零,IE6仍會渲染間距

這裏是內聯的所有風格的HTML:我在幾個邊框添加只是讓你可以更容易地看到發生了什麼事情

<!DOCTYPE html> 
<html lang='en'> 
    <head> 
     <title>Test</title> 
    </head> 
    <body> 
     <div id="container" style="border: 1px solid blue;"> 
      <p style="margin: 0;"> 
       Some text 
      </p> 
      <div style="height: 0; line-height: 0; margin: 0; border: 1px solid red;"> 
       &nbsp; 
      </div> 
      <p style="margin: 0; border: 1px solid green"> 
       Should be right below "Some text" 
      </p> 
     </div> 
    </body> 
</html> 

這裏是正在發生的事情IE6的截圖:

alt text

我如何能擺脫DIV(紅色)的底部之間的空間不大的任何想法和段落的頂部(綠色)?

+0

你試過DebugBar嗎? – Kos 2010-11-15 17:54:22

回答

2

添加font-size:0;到div。這應該刪除空間

0

我相信「p」標籤會自動添加填充。在你的風格屬性中嘗試添加填充:0;連同邊距:0;

要嘗試的另一件事是將您的位置設置爲相對位置,即「position:relative;」

另外,請確保您使用的是有效的doctype:http://www.w3.org/QA/2002/04/valid-dtd-list.html

+0

嘗試設置顯式填充和使用位置:相對,但它沒有改變任何東西。另外,根據http://diveintohtml5.org/semantics.html,我使用的文檔類型是有效的。 – 2010-11-15 16:36:32

+0

是否有任何理由在中間div有 ?什麼擺脫了這一點呢? – wajiw 2010-11-15 16:38:51

+0

擺脫 似乎沒有影響的東西。我把它放在那裏的原因是,如果一些瀏覽器是空的,它們會忽略div。產生這個問題的原始頁面是使用0x0的div與「clear:both」設置,以便處理浮動佈局,因此div需要包含在佈局中,但不佔用任何空間。 – 2010-11-15 21:29:51