Chrome和FireFox之间DOM元素顺序的区别?

时间:2011-12-01 05:34:20

标签: php firefox dom google-chrome

在我正在开发的网络应用中,在Chrome和Firefox之间进行测试时,我在元素DOM中的位置存在差异。

在Chrome中查看页面时,<head>标记中的元素似乎放在<body>中,还有一些空格。在FireFox中查看网站时不会出现这种情况。

什么可能导致像这样的元素错位? http://archives.wsusignpost.com

enter image description here

我正在用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>

2 个答案:

答案 0 :(得分:2)

我立足于@Lachlan富有洞察力的答案,并扩展到:



表示在页面上呈现的字节顺序标记符号。在其中有两个,看起来像两个文件(主页面和所需的文件)都使用带有BOM的UTF-8保存,这可能会导致渲染问题(在DOCTYPE之前)。 尝试在编辑器中将文件保存为UTF without BOM,看看是否能解决问题。

答案 1 :(得分:1)

服务器响应的前两行是:

<!DOCTYPE html>
<html>

不完全确定在那里做了什么,但我怀疑你的PHP require()包含了一些奇怪的东西。您的页面在保存后会完全崩溃TextMate ---所以肯定是不正常的。