我正在制作的网站上有问题。我的页面顶部有这一行空白。我不知道它是从哪里来的。这可能是由于 php 在我的页面中出现了额外的换行符,include()
或者它可能只是一些错误的 css。
15 回答
在 Notepad++ 中,您可以从“编码”菜单中将文件的编码更改为“不带 BOM 的 UTF-8”。这解决了我的问题。
在记事本++中打开文件
从顶部栏:编码->在没有 BOM 的 UTF8 中编码
保存文件
在 Dreamweaver 中
按 CTRL + J 或转到更改->页面设置->平铺/编码,如果选中,则取消选中UNICODE BOM。
好吧,您缺少初学者的 DOCTYPE ...您也没有指定字符编码。
除此之外,请确保如果您已将文件保存为 UTF-8,则它们在开始时不得有BOM。还要确保你没有留下任何空行(尽管空格可能会被忽略,否则我写过的每个布局都会中断)
出于某种原因,在第一个 div 之前的 body 标记之后,您有一些时髦的角色......只需删除它们并根据需要重新缩进。
准确的字符...(如果您检查页面的HTML ,您可以在 Firebug 中看到它...但您在视图源中看不到它,因为它呈现为空白)。
与对齐问题无关......您的登录/注册链接后还有一个不匹配的结束</li>
标签。
您可以通过以下方式解决此问题...
根据斯昆利夫所说的……你可以避免这个角色……例子
$file = file_get_contents('header.php');
$file = substr($file, 3, strlen($file));
echo $file;
所以,你正在跳过这个错误......
问候
重要提示:如果您在我的网站中有多个使用 utf-8 的 php 页面,则需要确保将每个页面的编码更改为“在没有 BOM 的情况下以 utf-8 编码”。
是的,在其他任何内容之前都包含了额外的空格。
我可以向您推荐使用输出缓冲吗?您将获得对推送给客户端的内容的细粒度控制。
声明 DOCTYPE 后,确保将 CSS reset 添加到 CSS 代码的第一行,以使其在所有浏览器中保持一致:
*{margin:0;
padding:0;
}
在查看您在 firebug 上的网站输出时,我在 html 渲染上发现了一个小问题。在屏幕截图中查看。
这可能是由于页面顶部缺少文档类型。在页面顶部添加以下文档类型并再次查看输出。
<!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'>
在线测试所有建议,用记事本解决,程序:
- 复制文件的所有内容以包含,从
php
没有<?
- 打开记事本并输入
<?
然后粘贴所有代码 - 享受
这个问题也困扰了我很久,直到我找到了一个非常简单的解决方案。
此问题是由 BOM 字符引起的,该字符用于告诉代码页以及文本文件的字节序。包含 PHP 文件时,也会包含此字符。虽然您不会看到 BOM 字符,但它可能会在您的页面上造成间隙。
我的解决方案在这里。您不必从文件中删除此字符。你需要做的是这样的:
<!-- <?php
include_once (dirname(__FILE__) . "/_include.php");
?> -->
使用 HTML 注释标记来包装包含其他 php 文件的 php 代码。BOM 字符将被视为注释,不会出现在页面上。
BOM Character 造成了这个问题。有时它不会创造出人们所看到的这种视觉特征。只需检查文件编辑器设置并设置为“无 BOM”以防止出现此类空白行。
有时图像会因为这个字符而无法工作,因为图像的字符集被这个字符破坏了。
为了避免这种情况,i)。检查您的代码编辑器是否使用 BOM 创建新文件。如果是这样,请更改此设置。ii)。打开代码的所有文件并在开始时检查 BOM 字符(
试试这个这是我所知道的最好的主意,干杯
<div style="position:absolute;">
<?php include("conn.php"); ?>
</div>
<!DOCTYPE html>
我刚刚下载了 Notepad++,应该建议没有 BOM 的 UTF-8 不是编码选项。只选择“UTF-8”而不是“UTF-8 BOM”。那行得通。