1. Введение в HTML: Структура документа, основные теги и семантическая верстка
Введение в HTML: Структура документа, основные теги и семантическая верстка
Добро пожаловать в курс «Основы HTML и CSS: Создание веб-сайтов с нуля». Мы начинаем наше путешествие с самого фундамента интернета — языка HTML. Если представить веб-сайт как дом, то HTML — это его каркас, стены и перекрытия. Без него некуда будет клеить обои (CSS) и некуда проводить электричество (JavaScript).
В этой статье мы разберем, как устроен веб-документ, изучим базовые «кирпичики» верстки и узнаем, почему современный веб требует не просто набора тегов, а осмысленной, семантической структуры.
Что такое HTML?
HTML (HyperText Markup Language) — это язык гипертекстовой разметки. Важно понимать: это не язык программирования. Здесь нет переменных, циклов или сложной логики. HTML предназначен для того, чтобы сообщить браузеру, чем является тот или иной кусок текста или медиа-контента на странице.
Когда вы открываете сайт, браузер получает от сервера текстовый файл с кодом HTML. Он читает этот код сверху вниз и превращает (рендерит) его в визуальную страницу, которую вы видите.
!Как браузер превращает код в веб-страницу
Анатомия HTML-тега
Основной строительный блок HTML — это тег. Теги — это ключевые слова, заключенные в угловые скобки. Большинство элементов состоят из открывающего тега, содержимого и закрывающего тега.
Пример классического элемента:
Разберем по частям:
<p> — Открывающий тег. Он говорит браузеру: «Здесь начинается абзац».Привет, мир! — Контент. Текст, который увидит пользователь.</p> — Закрывающий тег. Он содержит слэш / и говорит: «Здесь абзац заканчивается».Существуют также одиночные (пустые) теги, которым не нужно закрытие, так как у них нет текстового содержимого. Например, тег переноса строки <br> или тег изображения <img>.
Атрибуты
Теги могут иметь атрибуты, которые предоставляют дополнительную информацию об элементе. Атрибуты всегда пишутся в открывающем теге и обычно состоят из имени и значения.
В этом примере href — это имя атрибута, а "https://google.com" — его значение. Этот атрибут сообщает браузеру, куда именно должна вести ссылка.
Структура HTML-документа
Любая правильно составленная HTML-страница должна иметь строго определенную структуру. Это необходимо для того, чтобы браузер корректно распознал кодировку, масштаб страницы и подключенные ресурсы.
Вот шаблон минимального HTML-документа:
Разберем каждую строку:
<!DOCTYPE html> — Это не тег, а инструкция для браузера. Она сообщает, что мы используем современную версию языка — HTML5. Без этой строчки браузер может перейти в «режим совместимости» и отображать сайт некорректно.<html> — Корневой элемент. Весь код страницы должен находиться внутри него. Атрибут lang="ru" важен для поисковых систем и скринридеров (программ для чтения с экрана), указывая, что основной язык страницы — русский.<head> — «Голова» документа. Здесь хранится служебная информация, которая не отображается в окне просмотра браузера напрямую. Здесь подключаются стили, шрифты, скрипты и мета-теги.<meta charset="UTF-8"> — Критически важный тег. Он устанавливает кодировку UTF-8, которая поддерживает практически все символы всех языков мира, включая кириллицу и эмодзи.<title> — Заголовок страницы, который отображается на вкладке браузера, а также в результатах поиска Google или Яндекс.<body> — «Тело» документа. Всё, что вы видите на сайте (текст, картинки, кнопки), пишется именно внутри тега <body>.Основные теги для разметки текста
Внутри <body> мы используем различные теги для структурирования контента.
Заголовки
В HTML существует 6 уровней заголовков: от <h1> до <h6>.
* <h1> — Самый важный заголовок. Обычно это название статьи или страницы. На странице должен быть только один <h1>.
* <h2> — Заголовок раздела.
* <h3> — Подзаголовок внутри раздела.
* ... и так далее до <h6>.
> Важно: Не используйте заголовки просто для того, чтобы сделать текст жирным или крупным. Используйте их для логической структуры. Это критично для SEO (продвижения в поиске) и доступности.
Абзацы и списки
Для обычного текста используется тег <p> (paragraph). Браузеры автоматически добавляют отступы сверху и снизу от абзацев, чтобы текст было удобно читать.
Списки бывают двух основных видов:
<ul> (unordered list). Элементы помечаются точками (буллитами).<ol> (ordered list). Элементы помечаются цифрами.Внутри обоих типов списков каждый пункт оборачивается в тег <li> (list item).
Пример:
Ссылки и изображения
Интернет не был бы «паутиной» без ссылок. Для их создания используется тег <a> (anchor — якорь).
* Атрибут href задает адрес перехода.
* Атрибут target="_blank" (необязательный) открывает ссылку в новой вкладке.
Для вставки картинок используется одиночный тег <img>.
* Атрибут src (source) — путь к файлу изображения.
* Атрибут alt (alternative text) — текстовое описание картинки. Оно появится, если картинка не загрузится, и его читают скринридеры для незрячих пользователей.
Семантическая верстка
До появления HTML5 верстальщики использовали тег <div> практически для всего. <div> — это просто контейнер без смысловой нагрузки. Код выглядел примерно так:
Это работало визуально, но для роботов (поисковиков) и вспомогательных технологий такой код был «черным ящиком». Непонятно, где главная статья, а где просто боковая панель с рекламой.
Семантическая верстка подразумевает использование тегов, которые своим названием говорят о предназначении контента внутри них.
!Структура семантической разметки страницы
Основные семантические теги HTML5
<header> — «Шапка» сайта или раздела. Обычно содержит логотип, название и поиск.<nav> — Навигация. Содержит меню с ссылками на другие страницы.<main> — Основное содержимое страницы. Должен быть уникальным для каждой страницы и не включать повторяющиеся элементы (как шапка или футер).<article> — Самодостаточный контент. Например, статья в блоге, пост в соцсети или карточка товара. Если вытащить <article> на другой сайт, он должен сохранить смысл.<section> — Смысловой раздел документа. Обычно у каждой секции есть свой заголовок.<aside> — Боковая панель. Контент, косвенно связанный с основным (реклама, список рубрик, «читайте также»).<footer> — «Подвал» сайта. Копирайты, контакты, ссылки на соцсети.Зачем нужна семантика?
* SEO (Search Engine Optimization): Поисковые системы (Google, Яндекс) лучше понимают структуру вашего сайта. Они точно знают, что текст внутри <main> важнее, чем текст внутри <footer>.
* Доступность (Accessibility): Люди с нарушениями зрения используют скринридеры. Эти программы позволяют быстро перепрыгнуть к навигации (<nav>) или основному контенту (<main>), игнорируя ненужные блоки. Используя семантику, вы делаете интернет доступным для всех.
* Читаемость кода: Разработчику проще поддерживать код, где написано <header>, чем искать нужный <div> среди сотен других <div>.
Блочные и строчные элементы
Все теги в HTML делятся на две большие группы по тому, как они ведут себя в потоке документа.
Блочные элементы (Block-level)
Эти элементы всегда начинаются с новой строки и занимают всю доступную ширину родительского контейнера (растягиваются слева направо). Они образуют «блоки».
* Примеры: <div>, <p>, <h1>-<h6>, <ul>, <li>, <header>, <footer>.
Строчные элементы (Inline)
Эти элементы располагаются внутри строки текста. Они занимают ровно столько места, сколько нужно их содержимому, и не переносят строку.
* Примеры: <a>, <span>, <strong> (жирный текст), <em> (курсив), <img>.
> Примечание: В современном CSS это поведение можно легко изменить, но важно знать, как элементы ведут себя по умолчанию.
Заключение
Мы разобрали фундамент, на котором строится веб. Вы узнали, что HTML — это язык разметки, а не программирования, изучили структуру документа от <!DOCTYPE html> до <body>, познакомились с базовыми тегами для текста и медиа, а также поняли важность семантической верстки.
В следующей статье мы начнем украшать наш «каркас», изучая CSS, чтобы превратить скучный черно-белый текст в стильный и современный веб-сайт.