- Модуль 1: Основы HTML-разметки
- Модуль 2: Форматирование текста
- Жирный текст (b и strong).
- Курсив (i и em).
- Подчеркивание и перечеркивание (u, s, del, ins).
- Верхний и нижний индекс (sup, sub).
- Цитаты и блоки цитат (q, blockquote, cite).
- Код и предварительно форматированный текст (code, pre).
- Аббревиатуры и определения (abbr, dfn).
- Технические элементы (kbd, samp, var).
- Двунаправленный текст (bdi, bdo).
- Модуль 3: Ссылки и навигация
- Базовые ссылки (a href).
- Внутренние ссылки и якоря.
- Относительные и абсолютные пути.
- Атрибуты target (_blank, _self).
- Заголовки ссылок (title).
- Ссылки на email и телефон.
- Скачивание файлов через ссылки (download).
- Атрибуты rel (nofollow, noreferrer).
- Создание кнопок-ссылок.
- Hash-навигация между разделами.
- URI-схемы (sms:, geo:).
- Модуль 4: Изображения
- Добавление базовых изображений (img).
- Атрибуты изображений (alt, width, height).
- Изображения-ссылки.
- Карты изображений (map, area).
- Picture элемент и множественные источники.
- Адаптивные изображения (srcset, sizes).
- Ленивая загрузка изображений (loading='lazy').
- Форматы изображений и их применение (JPEG, PNG, WebP, SVG).
- SV-анимация через элемент.
- Интерактивные SVG-карты.
- Модуль 5: Списки
- Неупорядоченные списки (ul, li).
- Упорядоченные списки (ol, li) и их атрибуты.
- Типы нумерации (decimal, alpha, roman).
- Вложенные списки и иерархия.
- Списки определений (dl, dt, dd).
- Создание навигационного меню из списка.
- Кастомные маркеры и стилизация списков.
- Атрибуты start и reversed в OL.
- Горизонтальные списки через CSS.
- Модуль 6: Таблицы
- Базовая структура таблицы (table, tr, td).
- Заголовки таблиц (th) и атрибуты scope.
- Объединение строк и столбцов (rowspan, colspan).
- Группировка ячеек (thead, tbody, tfoot).
- Заголовок и подпись таблицы (caption).
- Группировка столбцов (colgroup, col).
- Стилизация таблиц и чередующиеся строки.
- Фиксированные заголовки таблиц.
- Модуль 7: Формы и элементы ввода
- Создание базовой формы (form).
- Атрибуты формы (action, method, enctype).
- Текстовые поля (input type='text').
- Поля ввода пароля (input type='password').
- Флажки и чекбоксы (input type='checkbox').
- Радиокнопки (input type='radio').
- Кнопки (button, input type='submit', input type='reset').
- Выпадающие списки (select, option, optgroup).
- Многострочные поля ввода (textarea).
- Группировка элементов формы (fieldset, legend).
- Подписи к полям (label).
- HTML5 типы полей ( url, number ).
- Поля выбора даты и времени (date, time).
- Слайдеры и диапазоны (input type='range').
- Выбор цвета (input type='color').
- Поля с автозаполнением (datalist).
- Атрибуты полей (placeholder, autocomplete).
- Валидация форм (required, pattern, min, max).
- Загрузка файлов (input type='file').
- Скрытые поля (input type='hidden').
- Элемент output для вычислений.
- Модуль 8: Семантические элементы HTML5
- Шапка сайта (header).
- Основная навигация (nav).
- Основной контент (main).
- Боковая панель (aside).
- Подвал сайта (footer).
- Статьи и самодостаточный контент (article).
- Тематические разделы (section).
- Фигуры и подписи (figure, figcaption).
- Время и даты (time).
- Разворачиваемые блоки (details, summary).
- Прогресс и метрики (progress, meter).
- Диалоговые окна (dialog).
- Когда использовать div, а когда семантические элементы.
- Модуль 9: Аудио и видео
- Модуль 10: Метаданные и head
- Структура head элемента.
- Задание заголовка страницы (title).
- Кодировка и язык документа (meta charset, lang).
- Мета-описание и ключевые слова.
- Настройка viewport для мобильных устройств.
- Добавление favicon.
- Подключение внешних CSS (link rel='stylesheet').
- Подключение скриптов (script).
- Open Graph метаданные для соц.сетей.
- Метатеги для SEO и индексации.
- Предварительная загрузка ресурсов (preload, prefetch).
- PWA манифест и метатеги.
- Модуль 11: Фреймы и встраивание контента
- Модуль 12: SVG и Canvas
- Модуль 13: HTML и доступность
- Модуль 14: HTML для адаптивного веба
- Модуль 15: Практические проекты
Базовый перенос строки
В тексте отсутствуют переносы строк. Добавьте тег переноса между двумя предложениями, чтобы они отображались на разных строках.
body {
font-family: Arial;
padding: 20px;
}
<p>Это первое предложение.input1Это второе предложение.</p>
Множественные переносы
Создайте вертикальный отступ между заголовком и основным текстом с помощью нескольких переносов строк.
h1 {
margin-bottom: 0;
}
p {
margin-top: 0;
}
<h1>Заголовок статьи</h1>
input1
<p>Основной текст статьи начинается здесь.</p>
Горизонтальный разделитель
Добавьте горизонтальную линию между двумя абзацами текста для визуального разделения контента.
body {
max-width: 300px;
}
<p>Первый раздел контента</p>
input1
<p>Второй раздел контента</p>
Перенос в адресе
Отформатируйте почтовый адрес с переносами строк между его компонентами для читаемого отображения.
.address {
background-color: #f5f5f5;
padding: 15px;
display: inline-block;
}
<div class="address">
Университетская наб., 7-9input1
Санкт-Петербургinput2
199034
</div>
Стилизованная горизонтальная линия
Добавьте горизонтальный разделитель и измените его внешний вид через CSS. Вам нужно только добавить тег в HTML.
hr {
height: 3px;
background-color: #4CAF50;
border: none;
border-radius: 2px;
}
<h2>Заголовок раздела</h2>
input1
<p>Контент после стилизованной линии</p>
Комбинированное использование
Создайте структуру: заголовок, разделитель, текст с переносами и второй разделитель. Заполните все пропуски.
body {
text-align: center;
}
hr {
width: 70%;
margin: 20px auto;
}
<h3>Важное объявление</h3>
input1
<p>Первая часть текстаinput2Вторая часть текстаinput3Третья часть</p>
input4
Подпись к изображению
Добавьте подпись к изображению с переносом строки между названием и автором фотографии.
.image-block {
max-width: 300px;
text-align: center;
}
img {
max-width: 100%;
}
<div class="image-block">
<img src="https://naytikurs.ru/img/5.png" alt="Пейзаж">
<p>Осенний лесinput1Иван Петров</p>
</div>
Разделитель с текстом
Создайте разделитель с текстом по центру. Допишите недостающие теги в HTML.
.divider {
display: flex;
align-items: center;
}
.divider hr {
flex-grow: 1;
}
.divider-text {
padding: 0 15px;
}
<div class="divider">
input1
<span class="divider-text">или</span>
input2
</div>
Сложная структура контента
Создайте структуру: заголовок, подзаголовок с переносом, разделитель, основной текст и видео с подписью.
body {
font-family: 'Segoe UI', Tahoma;
max-width: 350px;
}
.video-caption {
font-style: italic;
text-align: center;
}
<h2>Туристические маршруты</h2>
<h3>Горныйinput1Крым</h3>
input2
<p>Основное описание маршрута...</p>
<video controls>
<source src="https://naytikurs.ru/img/1.mp4" type="video/mp4">
</video>
<p class="video-caption">Обзор маршрутаinput3Дмитрий Семенов</p>
Верстка цитаты
Отформатируйте цитату с переносами строк и разделителями. Должны быть: разделитель, цитата с переносами, автор и финальный разделитель.
blockquote {
font-style: italic;
padding: 10px 20px;
border-left: 3px solid #ccc;
}
.author {
text-align: right;
font-weight: bold;
}
input1
<blockquote>
Первая строка цитатыinput2
Вторая строка цитатыinput3
Третья строка
</blockquote>
<p class="author">Александр Пушкин</p>
input4
Полная страница контента
Создайте полную структуру страницы: заголовок, разделитель, основной текст с переносами, блок изображений и финальный разделитель.
body {
padding: 20px;
max-width: 350px;
}
.header {
text-align: center;
}
.gallery {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
}
.gallery img {
width: 100px;
height: 100px;
object-fit: cover;
}
<div class="header">
<h1>Фотогалерея природы</h1>
<p>Подзаголовокinput1Описание проекта</p>
</div>
input2
<p>Первая часть описанияinput3Продолжение описанияinput4Финальные мысли</p>
<div class="gallery">
<img src="https://naytikurs.ru/img/7.png" alt="Природа 1">
<img src="https://naytikurs.ru/img/8.png" alt="Природа 2">
<img src="https://naytikurs.ru/img/9.png" alt="Природа 3">
</div>
input5