пустое пространство под тегом <body>и тегом script и тегом link идет под тегом body из head tag - PullRequest
3 голосов
/ 02 октября 2010

alt text

alt text

Эй, ребята, я написал php-приложение, используя php + smarty.

, когда я просматриваю исходный веб-код в firebug, янайдите, что тег link и тег script попадают под тег body .но я должен быть под тегом head .

, и под тегом body есть место.

и есть пробел в верхней части моей веб-страницы.

так в чем же проблема?

Ответы [ 4 ]

6 голосов
/ 02 октября 2010

У вас есть какой-то случайный текст внутри <head>, перед тегом <link>.Браузер видит текст и решает, что это означает, что вы запускаете основное тело документа, но забыл включить тег <body>.

Это действительно допустимо - если не желательно - в HTML4: конец <head>-tag и <body> start-tag являются необязательными.Вот как вы можете иметь <html><head><title>x</title>Hello! в качестве действительного HTML-документа.Но это недопустимо в XHTML, поэтому, если вы подтвердите свой документ , вы должны получить ошибку «здесь не разрешены символьные данные» в тот момент, когда возникает случайный текст.

Затем браузер анализируетостальная часть документа в виде основного содержимого, помещая <link> внутри основного текста (который не действителен, но, тем не менее, является обычным явлением).Он игнорирует реальное <body>, когда это происходит, потому что у него уже есть тело.

Если вы не видите случайный текст, возможно, это невидимый символ, такой как U + 00A0 Пробел без перерывов или - наиболее вероятно, для документов на китайском языке - U + 3000 Идеографическое пространство  , которое вы можете получить, нажимая пробел в некоторых режимах ввода.Эти символы не будут видны, но они не являются «игнорируемыми пробелами», как обычный пробел U + 0020 или символ новой строки, поэтому они запускают обработку «текстового содержимого» и заставляют <body>.

1 голос
/ 16 сентября 2013

Пробелы, особенно в начале веб-страницы, обычно вызываются тем, что файл сохраняется в формате UTF-8 (который содержит спецификацию).Если вы используете редактор, такой как Notepad ++ или Vim, сохраните файл в формате UTF-8 без спецификации.

0 голосов
/ 02 октября 2010

Отправьте ваш HTML через валидатор (http://validator.w3.org/) - он сообщит вам, какая у вас ошибка (отсутствует закрывающий тег или что-то в этом роде).

0 голосов
/ 02 октября 2010

Добавьте следующий CSS:

html, body
{
    padding: 0px;
    margin: 0px;
}
...