先请看在浏览器中的表现,(红线是我画的参照线),源文件完全一样的两个html,可是一遍的内容显示要高于另一边,好奇怪。在firefox下也是这样的表现,以为maxthon有分栏浏览功能,为便于表述,我用马戏团红做演示,这两边body中的内容都是用到了php的include语句来产生,问题好像是出在include语句使用后,如果直接写html代码,或用echo直接输出,不用include的话,好像没有这个问题。
两个html文件下载>>>>>请高手帮我分析下,谢谢了!

解决方案 »

  1.   

    有时候浏览器遇到<?php ...?>代码时会显示空一行,主要是因为php代码写的是否规范等,你看下两段代码到底有什么不同,不然就完全复制一段替换另一段,只把inclue("文件名")里的文件名换下试试
      

  2.   

    你的<body>和第一个<div>标签之间有个标签之间有个bom头(EFBBBF),不知道你怎么弄进去的,我说怎么这么诡异.
    你可以用Hex Workshop这个工具察看你的employee[2].html文件.也可以用这个工具把那个bom头标去掉.
      

  3.   

    你的 <body>和第一个 <div>标签之间有个bom头(EFBBBF).....
      

  4.   

    本来不同浏览器就用蛮多地方不一样。
    特别是FF跟遨游,遨游是ie内核啊。
      

  5.   

    真的有点搞不懂,我试了一下,主要区别就在于两个<div></div><div>AAA</div>,这里的两个开如始标签<div>前面的“<”好象有点不同,只要自己再重新输入就可以了,而且要是两个都重新输入,那显示的内容还会再往上移,我想问一下,你生成这两个文件的源码有什么不一样吗?怎么“<”会有两个不同的显示方式啊?
      

  6.   

    应该是foolbirdflyfirst兄说得BOM头的问题,因为windows自带的记事本保存为UTF-8格式文件是会在文件头部加个“BOM头”十六进制为“EFBBBF”,这个字符php不认识,会原封不动输出到html文件中,导致文件布局失控!网上相关内容:(http://applife.net/2008/05/utf8-make-theme-error-fixed/)。谢谢楼上各位了!!
      

  7.   


    function removeBOM($str = '')
    {
        if (substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
            $str = substr($str, 3);
        }
        return $str;
    }是不是BOM头的原因楼主测试一下就知道了。
    上面函数是用来去掉文件bom头的。