Php包括恼人的上边距

我不知道为什么每次我尝试使用 PHP包含我的标题包括有一个上边距.我用Firebug检查了它,它说顶部有22px的偏移余量.有人遇到过这个问题吗?我认为这是一个CSS专长:顶部:22px.但即使我写了h1 style =“top:0px; margin-top:0px;”,也没有什么可以改变它.我认为这是一个永远无法解决的php-CSS之谜.

编辑:摆脱上边距偏移或其他任何东西的唯一方法是将以下属性添加到H1:top:0px;
                         位置:绝对;

这些物业将来会产生更多问题吗?

有没有更好的方法来解决这个上边际抵消问题?

edit2:我认为编码存在问题.包含文件(header.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">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>
    <link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
    <div id="page-wrap">
    <?php include_once("header2.html"); ?>
    </div>
</body>
</html>

有了这个CSS:

* {
    padding: 0px;
    margin: 0px;
}

我的header.html(包含的那个):

<h1>Header 2</h1>

那是输出:

<!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">
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Untitled 1</title>
    <link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
    <div id="page-wrap">
    <h1>Header 2</h1>  </div>
</body>
</html>

>上帝这么简单,我真的不知道最高利润来自哪里(在所有浏览器中).
>它只发生在我使用php include时.
>源代码看起来与我不使用php include时相同.

这很奇怪,但我复制了&将输出HTML粘贴到记事本中,并且在h1之前有一个奇怪的字符.将其粘贴到记事本中时,h1中的h是下标的.

因此,在我看来,您可能在包含的HTML(或包含它的PHP)中有错误(或意外的PHP)字符.我的怀疑?可怕的UTF-8 BOM.尝试更改所包含的HTML文件的编码以消除BOM(我在处理PHP时总是遇到问题).

编辑:是的.刚用十六进制编辑器验证.在包含的HTML的开头有一个字节顺序标记.我不知道您使用的编辑器,但您应该可以选择更改文本编码设置.

有关PHP&amp ;;的更多信息,请参阅this BOM.

相关文章
相关标签/搜索