2010-05-26 41 views
4

我試圖隱藏一個「必需」的消息,當頁面第一次顯示。在FF和IE8上這可以工作,但由於某種原因,該消息在IE7上顯示。IE7:元素顯示甚至與顯示:無

下面是HTML:

<div id="passwordDivRequired" class="requiredMsg"> 
     <img src="images/required.png" /> 
          Required       
    </div> 

這裏是CSS:

.requiredMsg img{ 
    width: 1.5em; 
    height: 1.5em; 
    position: relative; 
    bottom: -.4em; 
} 

div .requiredMsg { 
    color: #BF5754; 
    display: none; 
} 

回答

5

戴維·多沃德不可否認具有正確的回答這個特定問題,但對於該記錄的完整性,有兩個(至少)其它IE < = 7具體原因隱藏在其他瀏覽器當一個元件來顯示:

1)這裏有一個很完美的描述:http://www.positioniseverything.net/explorer/ienondisappearcontentbugPIE/index.htm爲了給出基本的要點,如果你的元素在頁面加載之後隱藏在一個動態隱藏然後顯示的容器中,就會發生。有更多的信息,一個很好的演示和一些修復在該頁面上。 (Display):None(由javascript設置)'div'元素,而其他子元素未設置「顯示器」未按預期顯示。在這種情況下,容器是'Position:fixed'div(也由JS設置),而孩子是錨('a')。對我來說,修復它的唯一方法是重構我的應用程序邏輯,以便在加載頁面之前在CSS中應用「顯示:無」,而不是在Javascript之後應用。即使在稍後使用JavaScript切換顯示時也是如此。

一般來說,IE < = 7似乎在頁面加載後隱藏內容時顯示繼承存在混淆問題。

(隨意編輯)