1. HTML: структура страницы, семантика и формы
HTML: структура страницы, семантика и формы
Зачем нужен HTML и что мы считаем страницей
HTML — это язык разметки, который описывает структуру и смысл содержимого веб-страницы: где заголовок, где основная часть, где навигация, где форма отправки данных.
Важно разделять роли технологий:
В этой статье мы заложим фундамент: научимся собирать каркас страницы, выбирать семантические элементы и делать формы.
Как устроен HTML-документ
У любой страницы есть базовые составляющие:
В реальном коде это оформляется специальными конструкциями, но в рамках курса мы будем обсуждать их как элементы и разделы документа, не привязываясь к конкретной записи.
Основные части документа
head — служебная часть: кодировка, заголовок страницы в вкладке браузера, подключение стилейbody — то, что видит пользователь на страницеЧто обычно находится в head:
title — название страницы во вкладкеЧто обычно находится в body:
> Подробная справка по структуре HTML-документа есть в MDN. MDN: Document and website structure
Семантика: как делать страницу понятной
Семантика в HTML — это выбор таких элементов, которые отражают смысл блока, а не его внешний вид.
Почему это важно:
Семантические блоки страницы
Чаще всего каркас страницы строят из таких элементов:
header — шапка страницы или шапка секции (логотип, название, верхнее меню)nav — навигация по сайту или по текущей страницеmain — главный уникальный контент страницы (обычно один на странице)section — крупный смысловой разделarticle — самостоятельный материал, который можно читать отдельно (пост, карточка новости)aside — дополнительный контент рядом с основным (сайдбар, примечания)footer — подвал страницы или секции (копирайт, контакты, ссылки)А вот элементы без явного смысла:
div — универсальный контейнер для группировкиspan — универсальный строчный контейнер для фрагмента текстаПравило-памятка:
div или span!Диаграмма, показывающая типичную семантическую структуру страницы и вложенность блоков
> Официальные описания семантических элементов: MDN: Semantic HTML
Заголовки и иерархия
Заголовки формируют структуру текста. Обычно используются h1–h6.
Практические рекомендации:
h1 — главный заголовок страницы (обычно один)Текст, ссылки и списки
Базовые элементы, которые будут почти на каждой странице:
p — абзац текстаa — ссылкаul и ol — списки (маркированный и нумерованный)li — пункт спискаХорошая привычка: текст ссылок должен быть понятным без контекста.
Что такое атрибуты и зачем они нужны
Атрибут — это дополнительная информация об элементе: идентификаторы, подписи, режимы работы.
Часто встречающиеся атрибуты:
id — уникальный идентификатор элемента на страницеclass — имя класса для CSS и JavaScript (классов может быть несколько)href — адрес перехода для ссылокsrc — источник файла (часто для медиа)alt — текстовое описание изображения для доступностиРазница между id и class:
| Критерий | id | class |
|---|---|---|
| Уникальность | обычно один раз на странице | может повторяться много раз |
| Назначение | точечная привязка | стилизация и группировка |
| Типичный кейс | якорь, конкретный блок | одинаковые карточки, кнопки |
Формы: сбор данных от пользователя
Форма — это способ получить данные от пользователя: логин, пароль, поиск, обратная связь, оформление заказа.
Из чего состоит форма
Обычно внутри form находятся:
label — подпись поляinput — короткое поле вводаtextarea — многострочный вводselect и option — выбор из спискаbutton — кнопка отправки или действияКлючевая идея: каждое поле должно иметь имя, чтобы его значение можно было отправить и обработать.
Атрибуты формы и отправка
У формы есть важные параметры:
action — куда отправлять данныеmethod — каким способом отправлять данные (часто GET или POST)Упрощённо:
GET добавляет данные в адрес страницы, подходит для поиска и фильтровPOST отправляет данные в теле запроса, подходит для логина, регистрации и любых данных, которые не стоит светить в адресной строке> Подробнее о формах и отправке данных: MDN: Your first form
Основные типы полей input
Выбор типа влияет на поведение, клавиатуру на телефоне и базовую проверку:
text — обычный текстemail — email с базовой проверкойpassword — скрытый вводnumber — числаcheckbox — флажокradio — выбор одного варианта из группыdate — выбор датыfile — загрузка файлаСвязка label и поля
Правильная связка подписи и поля улучшает доступность и удобство: по клику на подпись фокус переходит в поле.
Как это обеспечивается логически:
idlabel есть ссылка на этот id через атрибут forВалидация без JavaScript
HTML умеет выполнять базовую проверку ещё до отправки:
required — поле обязательноminlength и maxlength — длина строкиmin и max — границы числа или датыpattern — шаблон ввода (регулярное выражение)Важно: HTML-проверка удобна для пользователя, но не заменяет проверку на сервере.
Пример логической структуры формы без кода
Ниже пример того, как можно спроектировать форму регистрации (это не синтаксис, а схема):
Частые ошибки новичков
div везде, игнорируя header, nav, main, footerlabelname у полей формы, из-за чего данные не отправляются корректноrequired полностью защищает от неправильных данныхЧто дальше по курсу
В следующей части курса мы начнём оформлять структуру: подключим CSS, разберём селекторы и научимся стилизовать семантические блоки. После этого вернёмся к формам и сделаем их красивыми и удобными, а затем добавим немного JavaScript для интерактива.