IE7误解了我的HTML

时间:2010-08-08 15:59:00

标签: html wordpress internet-explorer-7 internet-explorer-6

这个网站在IE8,Mozilla,Safari和Chrome中运行良好,但IE6 / 7确实搞砸了。我一直试图修复布局,但我已经准备好放弃了。 WordPress 3.0,使用BBEdit和PSPad编码,托管在雅虎上(可怕,但不是我的选择)。

网站:yovinomd.com

在IE8开发工具中,HTML完全错误。出于某种原因,在!DOCTYPE之前有2个空白行没有出现在PSPad或BBEdit中。它将!DOCTYPE呈现为注释掉的空文本节点。 HTML的其余部分被破坏了:IE认为头部只包含我的页面标题,它将元和脚本抛出到注释掉的正文标记中。我以前从未见过这个,但我认为这会破坏我的HTML并导致布局问题。

IE开发工具截图:http://img405.imageshack.us/i/iedev.jpg/

这可能是DOCTYPE问题吗?我的理解是,过渡将被IE读作严格,这应该没问题。

3 个答案:

答案 0 :(得分:1)

您的页面以两个换行符(0x0A)开头,然后是字节顺序标记(BOM)。由于BOM不是文件中的第一个字节,因此它们被视为可显示的字符数据,因此解析器会推断出正文的开头。除非在解析器中内置特殊规则,否则后面的所有内容都会放入正文中。在IE中,这意味着标题会被置于头脑中。在Firefox中,标题和元素元素被移到了头上。

如果你可以删除两个起始LF,事情应该更明智地解析,但你也应该确保你的页面验证。目前还有很长的路要走。

答案 1 :(得分:0)

在你的div#sidebar中,你有一个ul,它拥有一个li,div然后另一个li,根据firebug,但是在IE-7选项卡中用IE-tester检查它只显示li-elements和li在外面你呢?

我认为你的html(unclosed标签)中有一个错误,或者IE7无法处理li元素之间的div(看看div本身也如何包含li元素)但我不确定是这样的。

此外,您似乎有一些错误,例如在多个地方使用相同的ID ... http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fyovinomd.com%2Fmd%2F

答案 2 :(得分:0)

我修复了HTML(删除了UL中的DIV)并删除了之前的空白行!DOCTYPE(仍然坚持使用一个,但它有效)。我下载的jQuery插件坏了,所以我完全删除它,因为它打破了我的其余脚本。

它适用于IE7,但我有一个首页新闻摘录清除浮动日历的错误。