- Модуль 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: Практические проекты
Шапка сайта
Замените общий контейнер на подходящий семантический элемент для шапки сайта с логотипом и заголовком.
.site-header {
background: #2c3e50;
color: white;
padding: 20px;
text-align: center;
}
.site-header h1 {
margin: 0;
font-size: 24px;
}
<input1 class="site-header">
<h1>Мой сайт</h1>
<p>Добро пожаловать!</p>
</input2>
Навигационное меню
Создайте правильную семантическую обертку для навигационного меню сайта.
Основное содержимое страницы
Обозначьте основной контент страницы правильным семантическим элементом.
.content {
max-width: 350px;
margin: 20px auto;
padding: 15px;
background: #ecf0f1;
border-radius: 5px;
}
.content h2 {
color: #2c3e50;
margin-top: 0;
}
<input1 class="content">
<h2>Основная информация</h2>
<p>Это главное содержимое страницы, которое уникально для данной страницы.</p>
</input2>
Статья в блоге
Оформите пост блога с заголовком и текстом в подходящий семантический контейнер.
.blog-post {
background: white;
border: 1px solid #ddd;
padding: 15px;
margin-bottom: 15px;
border-radius: 5px;
}
.blog-post h3 {
color: #27ae60;
margin-top: 0;
}
.post-date {
color: #7f8c8d;
font-size: 14px;
}
<input1 class="blog-post">
<h3>Новости компании</h3>
<p class="post-date">15 декабря 2024</p>
<p>Сегодня мы рады сообщить о запуске нового продукта...</p>
</input2>
Логический раздел страницы
Выделите тематический раздел страницы с услугами компании в правильный семантический элемент.
.services {
background: #f8f9fa;
padding: 20px;
margin: 15px 0;
}
.services h2 {
color: #e74c3c;
border-bottom: 2px solid #e74c3c;
padding-bottom: 10px;
}
.services ul {
margin: 15px 0;
}
<input1 class="services">
<h2>Наши услуги</h2>
<ul>
<li>Веб-разработка</li>
<li>Мобильные приложения</li>
<li>Консультации</li>
</ul>
</input2>
Боковая панель
Создайте боковую панель с дополнительной информацией, используя правильный семантический элемент.
.sidebar {
background: #95a5a6;
color: white;
padding: 15px;
border-radius: 5px;
}
.sidebar h3 {
margin-top: 0;
font-size: 18px;
}
.sidebar p {
font-size: 14px;
line-height: 1.5;
}
<input1 class="sidebar">
<h3>Интересный факт</h3>
<p>HTML5 был опубликован в 2014 году и принес множество новых семантических элементов.</p>
</input2>
Подвал сайта
Оформите нижнюю часть страницы с копирайтом в соответствующий семантический элемент.
Изображение с подписью
Правильно оформите изображение с подписью, используя семантические элементы для иллюстраций.
.image-block {
margin: 20px 0;
text-align: center;
}
.image-block img {
max-width: 100%;
height: auto;
border-radius: 5px;
}
.image-block figcaption {
margin-top: 10px;
font-style: italic;
color: #7f8c8d;
font-size: 14px;
}
<input1 class="image-block">
<img src="https://naytikurs.ru/img/1.png" alt="Пример изображения">
<input2>Красивый пейзаж на закате</input3>
</input4>
Дата публикации
Оформите дату публикации статьи с использованием семантического элемента для времени.
.article-header {
border-bottom: 1px solid #e0e0e0;
padding-bottom: 10px;
margin-bottom: 15px;
}
.article-header h2 {
margin: 0 0 10px 0;
color: #2c3e50;
}
.publish-date {
color: #7f8c8d;
font-size: 14px;
}
time {
font-weight: 600;
}
<div class="article-header">
<h2>Важное обновление</h2>
<p class="publish-date">
Опубликовано: <input1 datetime="2024-12-15">15 декабря 2024</input2>
</p>
</div>
Базовая структура страницы
Создайте правильную семантическую структуру простой веб-страницы с шапкой, основным контентом и подвалом.
body {
margin: 0;
font-family: Arial, sans-serif;
}
header {
background: #3498db;
color: white;
padding: 15px;
}
main {
padding: 20px;
min-height: 150px;
}
footer {
background: #34495e;
color: white;
padding: 10px;
text-align: center;
}
<input1>
<h1>Мой сайт</h1>
</input2>
<input3>
<h2>Добро пожаловать</h2>
<p>Основное содержимое страницы</p>
</input4>
<input5>
<p>© 2024</p>
</input6>
Вложенные статьи и секции
Организуйте блог с несколькими статьями внутри тематической секции.
.blog-section {
background: #f5f5f5;
padding: 15px;
border-radius: 5px;
}
.blog-section h2 {
color: #e67e22;
margin-top: 0;
}
article {
background: white;
padding: 10px;
margin: 10px 0;
border-left: 3px solid #e67e22;
}
article h3 {
margin-top: 0;
color: #2c3e50;
}
<input1 class="blog-section">
<h2>Последние новости</h2>
<input2>
<h3>Первая новость</h3>
<p>Текст первой новости...</p>
</input3>
<input4>
<h3>Вторая новость</h3>
<p>Текст второй новости...</p>
</input5>
</input6>
Раскрывающийся блок
Создайте интерактивный раскрывающийся блок с дополнительной информацией.
details {
border: 1px solid #ddd;
border-radius: 5px;
padding: 10px;
margin: 15px 0;
background: #f9f9f9;
}
summary {
font-weight: bold;
cursor: pointer;
color: #16a085;
padding: 5px;
}
summary:hover {
color: #1abc9c;
}
details[open] {
background: #fff;
}
details p {
margin: 10px 0 0 0;
padding: 10px;
background: #ecf0f1;
border-radius: 3px;
}
<input1>
<input2>Нажмите для подробностей</input3>
<p>Здесь скрытая информация, которая появляется при раскрытии блока. Это удобно для FAQ и дополнительных сведений.</p>
</input4>
Комплексная структура с навигацией
Создайте страницу с шапкой, содержащей навигацию, основным контентом с статьей и боковой панелью.
header {
background: #2980b9;
color: white;
padding: 10px;
}
nav ul {
list-style: none;
padding: 0;
margin: 10px 0 0 0;
display: flex;
gap: 15px;
}
nav a {
color: white;
text-decoration: none;
}
main {
display: flex;
gap: 15px;
padding: 15px;
}
article {
flex: 1;
background: #ecf0f1;
padding: 15px;
border-radius: 5px;
}
aside {
width: 120px;
background: #bdc3c7;
padding: 10px;
border-radius: 5px;
}
h1, h2, h3 {
margin-top: 0;
}
<input1>
<h1>Сайт</h1>
<input2>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Блог</a></li>
</ul>
</input3>
</input4>
<input5>
<input6>
<h2>Статья дня</h2>
<p>Основной текст статьи...</p>
</input7>
<input8>
<h3>Реклама</h3>
<p>Акция!</p>
</input9>
</input10>