Структура HTML-документа

Любая HTML-страница строится на одном и том же обязательном скелете: <!DOCTYPE html>, затем <html>, внутри него <head> со служебной информацией и <body> с тем, что видит посетитель. Без этого скелета браузер тоже что-то покажет, но может ошибиться с кодировкой или языком страницы.

Попробуй поменять текст внутри (<h1>) - он обновится в самом результате. А если поменяешь текст внутри (<title>) - посмотри на «вкладку» над результатом: она покажет именно то, что попадает в заголовок страницы, а не в саму страницу.

Зачем нужен <!DOCTYPE html>

Строка <!DOCTYPE html> - не тег, а декларация: она стоит самой первой в файле, ещё до <html>, и сообщает браузеру одну вещь - (показывай эту страницу по современным правилам HTML5). Без неё браузер иногда переключается в старый (режим совместимости) и может отрисовать страницу не так, как ты задумал.

<!DOCTYPE html><html>... - декларация стоит первой строкой, до всего остального.

<html>... - декларации нет вообще; браузеру приходится самому гадать по каким правилам показывать страницу.

Роли <html>, <head> и <body>

Тег <html> оборачивает всю страницу целиком - это единственный корневой элемент документа. Внутри него всегда ровно два блока по порядку: сначала <head> - служебная часть, которую посетитель не видит в тексте страницы (там находится кодировка, заголовок вкладки и похожие вещи). Затем <body> - всё что реально показывается на экране: заголовки, абзацы, картинки.

<html><head>...</head><body>...</body></html> - порядок правильный: сначала служебная часть, потом видимая.

<html><body>...</body><head>...</head></html> - порядок перепутан; браузер постарается всё равно показать страницу, но так делать не стоит.

Что обязательно находится внутри <head>

В <head> почти всегда есть минимум два тега. Первый - <meta charset="UTF-8">, который указывает браузеру кодировку страницы; без него русский и другой не-английский текст рискует отобразиться нечитаемыми символами. Второй - <title>, текст которого браузер показывает во вкладке и в результатах поиска - и только там, на самой странице этот текст не появляется вообще.

<head><meta charset="UTF-8"><title>Моя страница</title></head> - кодировка указана, заголовок вкладки задан.

<head></head> - пустой <head>: кодировка не указана, вкладка браузера останется безымянной.

Частые ошибки новичков

ОшибкаЧто происходитКак исправить
Забыть <!DOCTYPE html> в самом начале Браузер может переключиться в старый (режим совместимости) и показать страницу непредсказуемо Всегда начинать файл с <!DOCTYPE html>
Писать содержимое прямо в <html>, минуя <head>/<body> Структура страницы теряет чёткое деление на служебную и видимую часть Служебное всегда класть в <head>, видимое - в <body>
Забыть <meta charset="UTF-8"> Русский и другой не-английский текст может отображаться нечитаемыми символами Указывать кодировку одной из первых строк внутри <head>
Путать <title> с заголовком на странице Ждёшь, что текст из <title> появится в самой странице - но он виден только во вкладке браузера Для видимого заголовка на странице нужен отдельный тег <h1> внутри <body>

Шпаргалка

ТерминЗначение
<!DOCTYPE html>Декларация в самом начале файла: «это HTML5-документ»
<html>Корневой тег, оборачивает всю страницу целиком
<head>Служебная часть: данные о странице, не видные в тексте
<body>Видимая часть: всё, что показывается посетителю
<meta charset="UTF-8">Указывает кодировку, чтобы текст отображался правильно
<title>Текст, видимый во вкладке браузера и в поиске

Коротко: отвечаем на вопросы

Обязательно ли писать <!DOCTYPE html> вручную каждый раз?

Да - вручную или через шаблон/автодополнение редактора, но в самом файле эта строка должна быть первой всегда, без исключений.

Что будет, если вообще не указать <meta charset="UTF-8">?

Чаще всего ничего критичного не случится, но кириллица или другие не-английские буквы рискуют отобразиться нечитаемыми символами - лучше не пропускать эту строку.

Чем <title> отличается от <h1>?

<title> виден только во вкладке браузера и в результатах поиска, а <h1> - заголовок на самой странице, который видит посетитель.

Можно ли поменять местами <head> и <body>?

Нет - <head> всегда идёт первым внутри <html>, а <body> вторым; именно в таком порядке браузер и ожидает получить документ.

Категория
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×