我在网站上遇到问题。我页面顶部有这一行空白区域。我无法找到它的来源。这可能是因为我的页面中有额外的换行符,这要归功于php include()
,或者它可能只是一些有缺陷的CSS。
答案 0 :(得分:35)
我明白了!我必须承认,这是一个非常奇怪的问题。
This是我的确切问题,他的解决方案完美地修复了它。
问题是因为include()
。
当您将页面保存为UTF-8时,文件开头会包含一个称为字节顺序标记(或BOM)的特殊签名,表示它是UTF-8文件。您只能看到具有低级文本编辑器的BOM(例如DOS edit)。您需要从包含的文件中删除此签名,以便摆脱页面顶部的空白区域。
答案 1 :(得分:14)
在Notepad ++中,您可以从“编码”菜单将文件的编码更改为“无BOM的UTF-8”。这解决了我的问题。
答案 2 :(得分:7)
在Notepadd ++中打开文件
从顶部栏开始:编码 - >在没有BOM的UTF8中编码
保存文件
在Dreamweaver中
按CTRL + J或转到更改 - >页面设置 - >平铺/编码,如果已经取消,则取消选中 UNICODE BOM 。
答案 3 :(得分:4)
你是否缺少初学者的DOCTYPE ......你也没有指定字符编码。
除此之外,请确保如果您将文件保存为UTF-8,则一开始就不能有BOM。还要确保你没有留下任何空行(虽然可能忽略了空格,否则我写过的每个布局都会破坏)
答案 4 :(得分:3)
出于某种原因,在第一个div之前你的身体标签后你有一些时髦的角色......只需删除它们并根据需要重新缩进。确切地说字符 
...(如果你检查页面的 HTML ,你可以在Firebug中看到它...但你不能在view-source中看到它,因为它呈现为空格。)
...您的登录/注册链接后也会有一个未匹配的结束</li>
标记。
答案 5 :(得分:3)
您可以通过以下方式解决此问题...
基于scunliffe所说的......你可以避免这个角色......例如
$file = file_get_contents('header.php');
$file = substr($file, 3, strlen($file));
echo $file;
所以,你正在跳过这个错误......
问候
答案 6 :(得分:3)
重要说明:如果您使用utf-8在我的网站上有多个php页面,则需要确保更改 每个页面的编码 是“在没有BOM的情况下在utf-8中编码”。
答案 7 :(得分:1)
是的,在其他任何事情之前都有额外的空白。
我建议您使用output buffering吗?您将获得对推送给客户的内容的精细控制。
答案 8 :(得分:0)
声明DOCTYPE后,请确保将CSS重置添加到CSS代码的第一行,以使其在所有浏览器中保持一致:
*{margin:0;
padding:0;
}
答案 9 :(得分:0)
在查看firebug上的网站输出时,我在html渲染之上发现了小问题。在屏幕截图中查看。
可能是因为页面顶部缺少doctype。在页面顶部添加以下doctype并再次查看输出。
<!doctype html>
<html itemtype="http://schema.org/WebPage" xmlns="http://www.w3.org/1999/xhtml" xmlns:og='http://opengraphprotocol.org/schema/'
xmlns:fb='http://www.facebook.com/2008/fbml'>
答案 10 :(得分:0)
在线测试所有建议,用记事本解决,程序:
php
而不是<?
<?
,然后粘贴所有代码答案 11 :(得分:0)
这个问题在很长一段时间内一直困扰着我,直到找到一个非常简单的解决方案。
此问题是由BOM字符引起的,该字符用于告知代码页以及哪个字节序是文本文件。当您包含PHP文件时,也会包含此字符。虽然您不会看到BOM字符,但可能会导致页面出现间隙。
我的解决方案就在这里。 您不必从文件中删除此字符。你要做的就是这样:
<!-- <?php
include_once (dirname(__FILE__) . "/_include.php");
?> -->
使用HTML注释标记来包装包含其他php文件的php代码。 BOM字符将被视为注释,不会显示在页面上。
答案 12 :(得分:0)
BOM Character会产生这个问题。有时它不会创造出人们看到的视觉特征。只需检查文件编辑器设置并设置为“无BOM”以防止出现此类空行。
由于图像的字符集被这样的字符破坏,有时图像因此而无法使用。
为避免这种情况, 一世)。检查代码编辑器是否使用BOM创建新文件。如果是,请更改此设置。 ⅱ)。打开代码的所有文件并在开始时检查BOM字符(
答案 13 :(得分:0)
试试这个,这是我知道的最好的主意,欢呼
<div style="position:absolute;">
<?php include("conn.php"); ?>
</div>
<!DOCTYPE html>
答案 14 :(得分:0)
我刚刚下载了Notepad ++,应该建议没有BOM的UTF-8不是编码选项。仅选择“ UTF-8”而不是“ UTF-8 BOM”。那行得通。