2009-10-20 49 views
1

我有一個帶有表單和選擇的簡單頁面。這些選擇的數量設置爲不可見,我使用Javascript(JQuery)來設置可見/不可見的好選擇。IE8爲非顯示元素保留空間

的CSS設置他們看不見的是:

select { 
    margin:0; 
    margin-top:5px; 
    padding:0; 
    border:0; 
    } 

.Invisible { 
    display:none; 
} 

它工作正常,在Firefox,Opera和Chrome瀏覽器,但當然不是,在Internet Explorer 8

它使無形的選擇,但它爲每一個保留1或2個像素。

Here is my test page

你可以看到有「MODELE」和「預算」之間有很大的空間......你可以看到它,如果你用「馬凱」下拉列表中發揮得更好。

回答

1

如果您刪除換行符和這兩個元素之間的任何空格,那麼IE會渲染</select>和下一個起點<select>之間的空間,您的神祕空間將消失。

+0

它確實有效!謝謝 ! 我很驚訝,因爲我雖然沒有編碼爲「 」的連續空格未被渲染。哪個在其他瀏覽器的情況下... 是IE「錯誤」還是我錯過了什麼? – Jalil 2009-10-20 15:08:19

+0

我認爲這只是IE的一個問題。我在一年或兩年前遇到了同樣的問題,在表格中的td標籤之間存在一個奇怪的空間 – 2009-10-20 15:27:51

+1

Jalil,連續的空白字符(空格,製表符,換行符)不是_eliminated_,當HTML爲空時,它們被摺疊爲_single_空格分隔符渲染。 http://www.w3.org/TR/html4/struct/text.html#h-9.1有一個提示:「...用戶代理應該在生成輸出字間空間時摺疊輸入空白序列。」這裏的關鍵是'產生輸出字間空間',這意味着輸出仍然包含一個空格 - 而不是輸入中包含的所有連續空格。另一個提示是在http://www.w3.org/TR/xhtml-media-types/#compatGuidelines,在第二部分的基本原理中。 A5 – Val 2009-10-20 17:55:26