IE6 - 文本没有任何理由隐藏?

时间:2009-10-10 19:38:07

标签: html css internet-explorer

对于很长一段时间我已经遇到了这个问题,但总是我设法以某种方式避免它(通过删除元素或改变顺序)现在又在这里,我不知道如何摆脱它。首先,它出现在我的管理面板中,但只有少数用户访问它所以它不是大问题(没有人使用IE6),但现在这个问题出现在我的门户网站的索引页面上,我必须摆脱它,因为15%的门户网站访客是IE6访客。 这是测试门户网站版本的 LINK : 如果您在IE6中打开此页面,您可以看到第二个新闻(标题为:测试一个)没有任何文本,只有图像。好吧,如果你在该图像上进行鼠标悬停,你会看到有一些文字。仅当我输入高度不大于图像高度的paragraf时才会出现此问题。如果我输入相同的图像但有更多的文字,这个显示/隐藏问题就会消失。我希望有人知道为什么会发生这种情况,因为这个问题几年来一直折磨我,但我从来没有弄清楚这个问题的主要原因是什么以及如何避免它。

欢迎任何帮助! Ile

修改

以下是此问题的解决方案: http://www.positioniseverything.net/explorer/peekaboo.html

2 个答案:

答案 0 :(得分:1)

嗯,最简单的方法是从页面进行复制粘贴,详细解释如下:

HTML code:

<!--********** Start of demo ***********-->

<div id="floatholder">

<div id="float">
<br />
<span>&nbsp;Float&nbsp;
<br /><br />
<a href="#">&nbsp;test link&nbsp;</a>
</span>
</div>

This is bare text. <a href="#">Test link</a>

<div style="border: 3px solid #f00; background: #dde;">This is text inside a div.
<a href="#">Test link</a></div>
This is bare text. <a href="#">Test link</a>
<div style="border: 3px solid #0c0; background: #dde;">This is text inside a div.
<a href="#">Test link</a></div>
This is bare text. <a href="#">Test link</a>
<div style="border: 3px solid #00f; background: #dde;">This is text inside a div.
<a href="#">Test link</a></div>
This is bare text. <a href="#">Test link</a>

<div id="clear">Clearing div</div>  <!--******* Note: a cleared <br> will not prevent bug *******-->

<div style="border: 3px solid #00f; background: #dde;">This div is after the cleared div. (purple box) If cleared div
does not touch float, bug is not triggered. <a href="#">Test link</a></div>
</div>

<!--********** End of demo ***********-->

这是screenshoot from IE6

修正:

  

修正:

     

最后,将触发此错误   即使div #float先于   div#floatholder,只要这样   外部浮动实际上触及了   清除div中的div#floatholder!

     

我们知道有三种方法   防止这个错误。

     
      
  1. 保持清除div不接触浮子,或避免使用   div上的背景#floatholder。不   非常理想。
  2.   
  3. 给div#floatholder和div #flove'position:relative'。是   一定要完全测试这种方法。
  4.   
  5. 给div#floatholder hasLayout(现在是首选方法)
  6.         

    我们建议使用条件评论   将hasLayout修复程序提供给IE6和   仅在下面。更多细节有用   可以在Zoom Fix page

    中找到此方法      

    感谢Simon Willison   及时截图。

这个bug被称为Peekaboo,这里是一切的详细解释: http://www.positioniseverything.net/explorer/peekaboo.html

虽然,我必须承认,对我而言,当我设置所有这3个步骤时它才有用。在前两个之后它没有用,但是在我添加了显示之后:内联到浮动div它起作用了。

答案 1 :(得分:0)

请你在这里发布(最基本的例子)代码,以便我们可以在你的服务器副本消失后很久就引用它(......就像现在一样)?否则,这个问题将不会作为参考或学习工具。