CSS HasLayout IE7错误

时间:2011-02-23 20:25:18

标签: css debugging internet-explorer

首先,我已阅读以下文章,只是为了解决这些问题,我之前已经处理过这些问题:

Position Relative / Absolute / Fixed in IE

http://www.brunildo.org/test/IE_raf3.html

http://www.satzansatz.de/cssd/onhavinglayout.html

对于一些有这些问题的人可能是新的,上面会有所帮助,但在我的情况下,我在所有非IE浏览器中都有以下内容:

http://cl.ly/4n6F [image]

以下是IE7中的

http://cl.ly/4nYm [image]

我知道我需要在大棕色hasLayout = true上触发<div id="footer">,因为它是position: relative,它在IE7中触发hasLayout = false。我已尝试zoom: 1display: inline-block尝试在#footer上触发hasLayout但未成功。

以下网站为您的观看次数提供了实时内容: http://hannahnour.co

div消失的原因是false上的hasLayout目前为#footer

我该如何触发它?!

2 个答案:

答案 0 :(得分:3)

它不是一个hasLayout问题。您需要验证您的标记。看起来你正在自动关闭一个标签,然后再次添加一个结束标签,这会使IE出错。你还有一个额外的结束div标签,它将定义你的布局。

像Firefox和Chrome这样的浏览器非常智能,可以正确地呈现问题但是拥有有效代码仍然是一个好主意。

希望这有帮助!

答案 1 :(得分:2)

@sweetroll是正确的,这与hasLayout无关。

问题出在/wp/wp-content/themes/custom_bellydance_theme/style.css内。

您有两行(特别是行354438),其中包含filter规则:

filter:  progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', /* IE6,IE7 */ 
                      M11=0.9986295347545738, M12=0.05233595624294383, M21=-0.05233595624294383, M22=0.9986295347545738);

看起来,任何这些行之后的任何CSS都不会被IE7解析。

如果删除这两行,您的网站将在IE7中修复。

我不确定这些线路的实际问题是什么。我尝试删除这些行中的/* */条评论,但这没有任何区别。

我建议最好的方法就是忘记将旋转日期悬停在IE6 / 7上。它并不重要,只有两个不重要的浏览器。如果这是不可接受的,你可以提出另一个问题,看看是否有其他人知道这个的原因(如果你这样做,请确保链接到这个问题)

我很高兴你决定链接到你的网站。

否则任何人都无法理解