Подтвердить что ты не робот

PHP включает в себя пробел в верхней части страницы

У меня проблема на сайте, который я делаю. В верхней части моей страницы есть эта строка белого пространства. Я не могу понять, откуда он. Возможно, это связано с дополнительными разрывами строк на моей странице благодаря php include() или, возможно, это просто некорректный css.

4b9b3361

Ответ 1

Я понял! Должен признаться, это было очень странно.

Это была моя точная проблема, и его решение полностью исправило ее.


Проблема возникла из-за include().

Когда вы сохраняете страницу как UTF-8, в начале файла включается специальная подпись, называемая знаком байта (или спецификацией), указывающая, что это файл UTF-8. Вы можете видеть только спецификации с низкоуровневыми текстовыми редакторами (например, DOS edit). Вам нужно удалить эту подпись из включенного файла, чтобы избавиться от пробела в верхней части страницы.

DOS edit

Ответ 2

В Notepad ++ вы можете изменить кодировку файла на "UTF-8 без спецификации" в меню "Кодирование". Это исправляет проблему для меня.

Ответ 3

  • Открыть файл в Notepadd ++

  • Из верхней строки: Encoding- > Encode в UTF8 без спецификации

  • Сохраните файл

В Dreamweaver

Нажмите CTRL + J или перейдите в меню "Изменить" - "Параметры страницы" → "Плитка/кодировка" и снимите флажок "UNICODE BOM", если она нажата.

Ответ 4

Ну, вам не хватает DOCTYPE для стартеров... У вас также нет кодировки символов.

Кроме того, убедитесь, что если вы сохранили файлы как UTF-8, они не должны иметь спецификацию в начале, Также убедитесь, что вы не оставили никаких пустых строк (хотя пробелы, вероятно, игнорируются, в противном случае каждый макет, который я когда-либо писал, прерывался)

Ответ 5

вы можете решить эту проблему, выполнив следующее...

на основе того, что сказал scunliffe... вы можете избежать этого символа... example

$file = file_get_contents('header.php');
$file = substr($file, 3, strlen($file));
echo $file;

Итак, вы пропускаете эту ошибку...

рассматривает

Ответ 6

Важно: Если у вас есть несколько страниц php, как у меня на моем веб-сайте, с помощью utf-8, вам необходимо убедиться, что вы изменяете кодировку каждой отдельной страницы "Кодировать в utf-8 без спецификации".

Ответ 7

По какой-то причине после вашего тега тела перед первым div у вас есть какой-то фанковый персонаж... просто удалите их и повторите отступ по мере необходимости. символ , если быть точным... (вы можете увидеть его в Firebug, если вы проверите HTML для страницы... но вы не видите его в представлении-источнике, потому что он отображается как пробел).

не связанный с проблемой выравнивания... у вас также есть тег закрытия </li> с ошибкой после ссылки входа/регистрации.

Ответ 8

Да, там есть лишние пробелы.

Могу ли я рекомендовать вам использовать буферизацию вывода? Вы получите тонкий контроль над тем, что нажали на клиента.

Ответ 9

После того, как вы объявите DOCTYPE, обязательно добавьте CSS reset в первую строку вашего CSS-кода, чтобы сделать его согласованным во всех браузерах:

*{margin:0;
 padding:0;
 }

Ответ 10

При просмотре вывода вашего сайта на firebug я обнаружил небольшую проблему поверх html-рендеринга. просмотр в скриншоте. firebug report

Это может быть из-за отсутствия 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'>

Ответ 11

Протестировано все предложения онлайн, решены с помощью блокнота, процедура:

  • Скопировать все содержимое файла для включения, от php без <?
  • Откройте "Блокнот" и введите <?, затем вставьте весь код
  • Enjoy

Ответ 12

Эта проблема также беспокоила меня в течение длительного времени, пока я не нашел очень простое решение.

Эта проблема вызвана символом спецификации, который используется для указания кодовой страницы, а конечный - текстового файла. Когда вы включаете файл PHP, этот символ также будет включен. Хотя вы не увидите символ спецификации, но это может вызвать разрыв на вашей странице.

Мое решение здесь. Вам не нужно удалять этот символ из файлов. Что вам нужно сделать, так это:

<!-- <?php
include_once (dirname(__FILE__) . "/_include.php");
?> -->

Использование метки комментариев HTML для переноса php-кода, который включает в себя другие php файлы. И характер спецификации будет рассматриваться как комментарий и не появится на странице.

Ответ 13

Символ BOM создает эту проблему. Иногда это не создает такой визуальный характер, который можно увидеть. Просто проверьте настройки редактора файлов и установите "no BOM", чтобы предотвратить такую ​​пустую строку.

Иногда изображения не будут работать из-за этого символа, так как набор символов изображения поврежден таким символом.

Чтобы избежать таких ситуаций, я). проверьте, создает ли редактор кода новый файл с спецификацией. Если это так, измените эту настройку. II). Откройте все файлы вашего кода и проверьте характер спецификации при запуске (

Ответ 14

Попробуйте это, это лучшая идея, которую я знаю, приветствия

<div style="position:absolute;">
<?php include("conn.php"); ?>
</div>
<!DOCTYPE html>