我总结了以前从未发生过的问题:身体元素中的空格(“”)。
显然,这个小东西搞砸了整个布局,而且最重要的是,它实际上是将头部的代码倾倒到正文中。
I.E:
而不是这个(当浏览器呈现页面时):
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, target-densitydpi=medium-dpi, user-scalable=0" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="Scripts/json2.js"></script>
<!-- Stylesheets -->
<link rel="stylesheet" type="text/css"
href="css/desktop.css" />
...
</head>
我有这个:
<html>
<head></head>
<body>
" " <!-- Here's the problem! -->
<! --Entire metas, scripts and whatnot is going here, too.
Probably because of that white space! -->
我真的很疑惑是什么导致了这个问题......过去两个小时我一直在网上,寻找谷歌上的每一个链接和堆栈溢出而没有太大的成功......
我找到的大多数建议(但没有帮助我)如下:
文件编码或元标记本身的问题。但对我来说情况并非如此,因为我确保所有文件都使用utf 8编码(无BOM)。
文档中的随机非法字符。我试图通过一个speudo二分法搜索找到它(删除一半的文件,没有找到任何东西?继续另一半)但在这两种情况下仍然有问题。
问题来自外部文件。唯一篡改此文件的文件也以UTF 8(无BOM)编码,并且不会出现任何非法字符。
如果有人建议如何解决这个问题,我将不胜感激。可悲的是,这不是我的项目,所以我的能力有限,无法解决正在发生/无法恢复到旧状态的问题。
此外,这里没有css(这不仅仅是填充或任何东西)。
以下是显示问题的屏幕截图:
以下是原始内容的代码:
更新:源文件现在在doctype之前有 no 空格,并且仍在解决问题。
答案 0 :(得分:1)
尝试验证您的HTML。对于您的本地版本http://validator.w3.org/#validate_by_input可能对您有所帮助。
如果您的代码有效,请尝试逐个禁用页面上的Javascripts。也许一些DOM-voodoo在加载页面后一直搞乱你的代码。
更新:从http://pastebin.com/tQthe5pv获取原始代码后,我可以重现您的错误。通过删除“<!DOCTYPE html>
”之前的所有(空格)字符,错误得到修复。 :)
答案 1 :(得分:1)
更新:
在文件开头的<!DOCTYPE html>
之前有一些空格(?)。删除此Chrome后显示正确的页面结构。
此外,但不是错误的来源:根据您的pastebin,以下标记未关闭:
<link href='http://fonts.googleapis.com/css?family=Anaheim' rel='stylesheet' type='text/css'>
答案 2 :(得分:0)
这是一个奇怪的,但我们走了:
在我的工作中进行了几个小时的故障排除后,我设法解决了这个问题。它来自一个名为“database.php”的文件。
显然,每次调用数据库时,都会在文件内部创建某种非法的特征(可能是由于编码错误?我不知道,我很确定我用utf-编码了文件8没有bom,但无论如何)。
我通过从头开始并手动复制每一行来解决问题。我没有遇到过这个问题。