Php DOM中的元素顺序Chrome和FireFox之间的差异?
在我正在开发的一个web应用程序中,当在Chrome和Firefox之间进行测试时,我发现元素在DOM中的位置有所不同 在Chrome中查看页面时,Php DOM中的元素顺序Chrome和FireFox之间的差异?,php,firefox,dom,google-chrome,Php,Firefox,Dom,Google Chrome,在我正在开发的一个web应用程序中,当在Chrome和Firefox之间进行测试时,我发现元素在DOM中的位置有所不同 在Chrome中查看页面时,标记中的元素似乎与一点空白一起放在中。在FireFox中查看站点时不会显示此信息 什么会导致元素的错误放置 我正在用PHP生成页面,从MySql数据库中提取数据 db.php包含在header.php中,它包含在index.php header.php: <?php require('db.php'); ?> <!DOCTYPE
标记中的元素似乎与一点空白一起放在
中。在FireFox中查看站点时不会显示此信息
什么会导致元素的错误放置
我正在用PHP生成页面,从MySql数据库中提取数据
db.php
包含在header.php
中,它包含在index.php
header.php:
<?php require('db.php'); ?>
<!DOCTYPE html>
<html>
<head>
<title>The Signpost: Archives</title>
<meta name="keywords" content="..." />
<meta name="title" content="..." />
<meta name="description" content="..." />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="container">
<a href="http://www.wsusignpost.com">
Main Signpost Website
</a>
<h1>
<img id="banner" src="..." \>
</h1>
路标:档案馆
服务器响应的前两行是:
<!DOCTYPE html>
<html>
ïïïïï?
我不完全确定那是什么,但我怀疑你的PHP
require()
包含了一些奇怪的东西。您的页面保存后,会完全崩溃TextMate,所以某些事情肯定不正常。我基于@Lachlan的深刻回答,并在此基础上展开:

表示页面上呈现的字节顺序标记符号。其中有两个文件(主页和必需的文件)似乎都是用UTF-8和BOM一起保存的,这可能会导致呈现问题(出现在DOCTYPE之前)。
尝试在编辑器中将文件保存为
UTF而不带BOM
,看看这是否解决了问题。可能与开发工具有关,因为如果查看源代码(我的意思是Ctrl+U),代码是正确的(很抱歉前面的评论,我搞错了lol)是的,源代码在查看源代码时看起来确实正确。奇怪的是,渲染仍然不同。它确实是BOM。谢谢你指出这一点!看来是时候找一个更好的文本编辑器了……没必要,只需将新文档的首选项设置为UTF格式,而不带BOM:)谢谢您指出这个问题。修复它(按照@Damien的回答)是我的解决方案。