Яким тегом починається кожна HTML сторінка: розбір з нуля

0
яким-тегом-починається-кожна-html-сторінка

Перший рядок будь-якого сучасного HTML-документа кричить на весь світ: <!DOCTYPE html>. Ця фраза, схожа на таємний пароль, відкриває двері до правильного рендерингу сторінки в браузерах. Але ось у чому прикол: це не тег у класичному розумінні, а декларація типу документа. Вона стоїть на варті стандартів, запобігаючи хаосу в інтерпретації коду. Без неї ваша сторінка може перетворитися на реліквію 90-х, де CSS поводиться непередбачувано, а макети ламаються, ніби картковий будиночок під поривом вітру.

Розберемося, чому цей рядок — основа основ. Браузери, як примхливі шеф-кухарі, очікують точних інструкцій з самого початку. DOCTYPE повідомляє: “Ей, це HTML5, поводься по-новому, без старих фокусів”. Історія знає випадки, коли забутий DOCTYPE перетворював елегантний дизайн на візуальний салат. Тепер уявіть радість розробника, коли все клацає ідеально з першого разу.

Чим відрізняється DOCTYPE від справжнього тега

Теги в HTML — це пари на кшталт <p> та </p>, що обгортають контент, ніби подарунок у стрічку. DOCTYPE ж стоїть осторонь: <!DOCTYPE html> не має закриваючого аналога, не створює елемент у DOM і не впливає на структуру. Це інструкція парсеру, яка визначає режим обробки документа. MDN Web Docs чітко зазначає: це преамбула, що запобігає “quirks mode” — режиму, де браузер імітує поведінку Netscape 4.

У HTML5 все спрощено до мінімуму. Раніше, у HTML 4.01, DOCTYPE тягнув за собою довжелезні посилання на DTD — визначення типу документа з w3.org. Сьогодні достатньо одного рядка, і він нечутливий до регістру: <!doctype html> чи <!DOCTYPE HTML> — все сяк-так спрацює. Але стандарт радить lowercase для чистоти.

Цікаво, що парсер браузера реагує миттєво. Знайшовши DOCTYPE на першому рядку (без пробілів перед ним!), він активує standards mode. Будь-який шум — коментар чи тег — перед ним змусить браузер перейти в режим сумісності з реліквіями минулого.

Історія: як DOCTYPE еволюціонував від SGML до HTML Living Standard

Усе почалося в 1990-х, коли Тім Бернерс-Лі винайшов HTML на базі SGML. Перші версії вимагали повного посилання на DTD, щоб валідувати розмітку. HTML 2.0 мав базовий DOCTYPE, але справжній бум стався з HTML 4.01: три варіанти — Strict, Transitional, Frameset — з URL на сервери W3C.

Потім з’явився XHTML 1.0, строгий як XML, з модульною структурою. Розробники мучилися з довгими рядками, копіюючи їх з сайтів. HTML5, запущений WHATWG у 2004-му та стандартизований W3C у 2014-му, радикально спростив: <!DOCTYPE html>. Сьогодні це “living standard” — жива специфікація, що оновлюється постійно, без версійних номерів.

Версія HTML DOCTYPE приклад Особливості
HTML 4.01 Strict <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”> Без застарілих елементів, фрейми заборонені
XHTML 1.0 Transitional <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> Дозволяє старі теги, XML-синтаксис
HTML5 (поточний) <!DOCTYPE html> Спрощений, standards mode за замовчуванням

Джерела даних: WHATWG.org та MDN Web Docs. Ця таблиця показує еволюцію — від громіздких конструкцій до елегантної простоти. У 2025-му HTML5 домінує на 99% сайтів, за даними W3Techs.

Standards mode проти quirks mode: битва за правильний рендеринг

Без правильного DOCTYPE браузер впадає в quirks mode, де CSS інтерпретується як у 1990-х. У цьому режимі box-model ламається: padding додається до width, а не всередину, як у сучасному standards mode. Firefox, Chrome чи Edge поводяться по-різному, перетворюючи ваш сайт на лотерею.

Є три режими: quirks (повний хаос для старих сайтів), limited-quirks (часткова сумісність) та no-quirks (standards). DOCTYPE <!DOCTYPE html> гарантує останній. Тестуйте в DevTools: Document Mode покаже статус. Без DOCTYPE — привіт, IE6-подібне відображення!

  • Quirks mode активується відсутністю DOCTYPE або помилками в ньому — маржа колапсує непередбачувано.
  • Standards mode забезпечує точний розрахунок розмірів, підтримку flexbox, grid без сюрпризів.
  • Limited-quirks — рідкісний гібрид для transitional DTD.

Практичний приклад: створіть два файли — з DOCTYPE і без. Відкрийте в браузері, додайте div з width: 100px; padding: 20px;. Без декларації ширина стане 140px. Магія режимів у дії!

Повна структура сучасного HTML-документа

Після DOCTYPE йде кореневий елемент <html> — ось перший справжній тег. Він обгортає все: <head> з метаданими та <body> з видимим контентом. Рекомендовано додати lang=”uk” для української, покращуючи доступність і SEO.

  1. Додайте <!DOCTYPE html> на першому рядку.
  2. Розпочніть <html lang=”uk”>.
  3. У <head>: <meta charset=”UTF-8″>, <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>, <title>.
  4. Потім <body> з контентом.
  5. Закрийте </html>.

Ось базовий шаблон, що перевершує 90% новачків:

<!DOCTYPE html>
<html lang="uk">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Моя перша сторінка</title>
</head>
<body>
  <h1>Привіт, світ!</h1>
  <p>Це працює ідеально.</p>
</body>
</html>

Такий скелет масштабується: додавайте link до CSS, script для JS. Viewport мета-тег робить сайт мобільно-дружнім, а charset запобігає кракозябрам з кирилицею.

Типові помилки початківців ⚠️

  • Забули DOCTYPE: Сторінка в quirks mode, CSS ламається. Перевірте DevTools!
  • Пробіли чи коментарі перед: Браузер ігнорує декларацію, ніби її нема.
  • Неправильний регістр чи версія: <!DOCTYPE HTML 4> може активувати limited-quirks.
  • DOCTYPE в body: Парсер видасть помилку, ігнорує його.
  • Без lang у html: SEO страждає, screen readers плутаються з мовою.

Ці пастки коштували годин розробникам. Валідуйте на validator.w3.org — безкоштовний рятівник.

Практичні поради для веб-розробників 2025 року

Використовуйте HTML5 boilerplate шаблони з GitHub — вони включають преконфігований viewport, charset і навіть security headers. Для SEO: правильний DOCTYPE + семантичні теги (<article>, <section>) піднімають у видачі Google. Тестуйте кросбраузерно: Chrome Canary, Firefox Nightly показують режими.

У фреймворках як React чи Vue DOCTYPE додається автоматично, але кастомні шаблони вимагають уваги. Додайте rel=”preconnect” у head для швидкості. Пам’ятайте: standards mode — запорука передбачуваності в CSS Grid і Flexbox.

Браузер Підтримка HTML5 DOCTYPE Режим без DOCTYPE
Chrome 1+ Повна з 2008 Quirks
Firefox 1+ Повна з 2004 Quirks
Safari 3+ Повна з 2007 Quirks

Джерела: caniuse.com та MDN Web Docs. Сумісність ідеальна, тож не ризикуйте.

Експериментуйте з інструментами: Lighthouse в Chrome DevTools оцінить валідність. Додавайте ARIA-атрибути для доступності — <html role=”main”>. У 2025-му Core Web Vitals Google карають за поганий рендеринг, тож DOCTYPE — ваш щит.

Коли створюєте лендінг чи блог, починайте з цього рядка. Він ніби якір у бурхливому морі веб-стандартів, тримаючи все на місці. Розробка стає приємнішою, коли знаєш, що фундамент міцний.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *