2010-08-31 71 views
5

我在我的页面上有一个元素应用于它的“display:none”和“visibility:hidden”。但IE 7仍然显示该元素。它不仅显示元素,当我打开开发人员工具栏并检查所述元素时,它告诉它确实没有显示,也没有可见性。IE 7显示隐藏和显示无元素

此外,当它处于其原始状态时,我无法使用开发人员工具栏中的选择器工具选择元素,直到我手动删除“display:none”和“visibility:hidden”规则。

这是因为如果IE 7正确地解释我的样式表,但渲染引擎是公然无视他们

这里的CSS

.ModalTypeTwo .button-wrapper { display: none; visibility:hidden; } 

这里的标记

<div class="MyModal ModalTypeTwo" id="sb-wrapper" style="top: 20px; width: 926px; left: 328px;"> 
    <div class="footer wrapper"> 
     <div class="corner left"></div> 
     <div class="corner right"></div> 
     <div class="button-wrapper" id="btnContents"> 
      <a title="contents" id="sb-nav-button"> 
       <span>Contents</span> 
      </a> 
     </div> 
     <div class="button-wrapper" id="txtContents"> 
      <div id="sb-title">Lorem Ipsum </div> 
     </div> 
     <div style="cursor: pointer;" onclick="Modal.next()" class="button-wrapper" id="btnNext"> 
      <a title="Next"><span>Next</span></a> 
     </div> 
     <div style="cursor: pointer; display: none;" onclick="Modal.previous()" class="button-wrapper" id="btnPrevious"> 
      <a title="Previous"><span>Previous</span></a> 
     </div> 
    </div> 
</div> 

注意上述规则应适用于#btnContents,#txtContents,#btnNext和#btnPrevious,但在IE &中,只有后面的3个隐藏。

+3

请复制并从jsfiddle链接到我们。谢谢。 – 2010-08-31 14:46:10

+1

+用于在jsfiddle中进行复制,但禁止发布相关的css和html的jsut会有帮助。 – prodigitalson 2010-08-31 14:53:04

+0

有没有其他的CSS可能会影响到这一点?我猜你的CSS不只是一行。 – 2010-08-31 19:00:50

回答

0

http://jsfiddle.net/UugDU/

我加了一些开始和结束的文字只是为了确保结果在所有被渲染。

我在IE7中没有问题。它在你的代码的其他地方一定是个问题。我建议你先从代码的完整版本开始,然后将其降低到产生错误所需的最小值并发布。

3

尝试应用overflow:hidden;在ModalTypeTwo上。我在IE7中遇到了类似的问题,并且隐藏了父项的溢出修复了它。

+1

我知道这是2年前发布,但是,谢谢这真的帮了我。 – stackunderflow 2013-03-03 05:22:41