2010-05-26 36 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似乎在页面加载后隐藏内容时显示继承存在混淆问题。

(随意编辑)