【问题标题】:Internet Explorer 9 appearance conflictInternet Explorer 9 外观冲突
【发布时间】:2012-06-22 01:21:00
【问题描述】:

我一直在互联网上对此进行研究,但遗憾的是无法找出发生这种情况的原因。它似乎只发生在 Internet Explorer 9 的某些计算机上。

仅在 IE 9(某些计算机)中,整个页面看起来像一团糟:

网站的网址是Here

谁能告诉我为什么在 IE9 中会发生这种情况?

(注意:兼容性视图会清除它,但是 Js/jQuery 不能正常工作)。

【问题讨论】:

  • 嗨马库斯,你能分享你的代码的相关部分(有缺陷的部分的 css 和 html 结构)吗?另外,我快速检查了网站的源代码,我的 html 验证器只给了我 数百个 html 错误。其中我看到一个你把一个<html>标签放在另一个<html>标签里面。由于所有这些脚本错误,很难说这里出了什么问题。
  • 您好 poepje,您在主页上发现了双 html 标签?我无法在此脚本中找到另一个 html 标记。
  • 你有2386 HTML Validation Errors!难怪你的 IE 有问题。
  • 我又检查了一遍,现在看到了,错误是你有代码在 里面,而不是 和 标签。此外,html 验证器说“ 之前提到过”。
  • 至于最后一个,我建议改为:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

标签: javascript jquery html internet-explorer-9


【解决方案1】:

在这里一时兴起,但我认为这是 inline-block 的用法。我没有将 IE9 安装到可以使用它的开发者控制台进行进一步检查的地步,但众所周知,IE 在显示内联块元素方面非常糟糕。

在 Google Chrome 的控制台中,我可以使用 float:left 而不是 display:inline-block 复制相同的外观,因此应该可以解决该问题。

编辑:我在 HTML 中看到的唯一语法问题是 </head> 标记的位置,它与 <body> 标记不相邻。

编辑 2: 就大纲问题而言,尝试using this answer to another question.

再次编辑以修复标签的显示。

【讨论】:

  • 不是所有的ie9浏览器,只有一些。
  • 感谢您的意见,但是蓝色边框怎么样?
  • 我认为那些是检查计划中的亮点。我会调查潜在的原因。至于问题的解决方案,我只会使用浮点数。无论您在哪里使用display:inline-block,请将其替换为float:left。
  • Nicholas,我赞扬你的尝试,但在 OP 修复他的大部分 2300+ Validation Issues 之前,你只是在追逐一些你永远无法抓住的东西。
  • @Sparky672 您查看过错误吗?标记几乎完全针对未转义的 URL 和不会影响页面显示的元属性。 </head> 标签的错位是一个真正的标记错误,但浏览器仍然会加载样式表和脚本。他的语法虽然应该修复,但不会影响页面的显示。
【解决方案2】:

由于某种原因,IE 认为该站点在我的 Intranet 中,并将其呈现为 Compatibility Mode(IE 中有一个设置可以在 CM 中自动呈现 Intranet 站点)。 当我取消选中“自动检测 Intranet 网络”复选框时,网站正确呈现。
所以您真正的问题是 IE 如何确定 Intranet 网络,以及如何强制您的页面不在兼容模式下呈现...类似于this。

【讨论】:

  • Scott M,你是 OP 吗?尽管最初的问题来自马库斯·贝内特,但你的回答就像你一样。
  • @CharlieKilian,显然情况并非如此。看看他说的第二段,“你的真正的问题......”和“如何你强迫...... "
  • 谢谢你,Scott,但是在这里,当它进入兼容模式时,它看起来很正常,而不是当它退出时。
  • 其实现在不兼容还好,兼容不好。我认为这可能是问题所在。
  • 你其实有一个正确的答案,谢谢你的努力。
【解决方案3】:

我注意到您的doctype 上方有空格。 IE 讨厌这个。 doctype 必须是文件中的第一个内容。

您还有超过2300 HTML validation errors 需要调查和纠正。同样,IE 对无效的 HTML 非常敏感。

【讨论】:

  • 谢谢 Sparky,顶部空间已删除,但仍然是同样的问题。 ;(
  • @MarcusBennett,然后看看我的第二点。那是非常无效的 HTML... IE 臭名昭著,因为它没有像其他人一样处理这个问题。
  • @Bergi,这跟我的回答有什么关系?
  • 是@MarcusBennett。验证器自动检测到 Doctype “XHTML 1.0 Transitional”,但事实并非如此。作为普通的 HTML,应该会有更少的错误
猜你喜欢
  • 2011-09-09
  • 2013-06-06
  • 2012-03-19
  • 1970-01-01
  • 2012-07-29
  • 2023-03-18
  • 2012-04-01
  • 2012-08-27
  • 1970-01-01
相关资源
最近更新 更多