- Модуль 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: Практические проекты
Создание простой кнопки
Создай простую кликабельную кнопку с текстом 'Кликни'. Для этого нужно правильно указать имя тега. Это самый распространенный способ создания кнопки.
.btn {
padding: 10px 15px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f0f0f0;
cursor: pointer;
font-size: 16px;
}
.btn:hover {
background-color: #e0e0e0;
}
<input1 class="btn">Кликни</input1>
Тип кнопки
У каждой кнопки есть тип, который определяет её поведение. Добавь атрибут `type` со значением `button`, чтобы создать обычную кнопку, которая не отправляет форму по умолчанию.
.btn {
padding: 10px 15px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f0f0f0;
cursor: pointer;
font-size: 16px;
}
.btn:hover {
background-color: #e0e0e0;
}
<button input1="input2" class="btn">Обычная кнопка</button>
Кнопка через input
Кнопки можно создавать и с помощью тега `<input>`. Создай кнопку, указав правильное значение для атрибута `type`. Текст на такой кнопке задаётся через атрибут `value`.
.btn {
padding: 10px 15px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f0f0f0;
cursor: pointer;
font-size: 16px;
-webkit-appearance: none;
}
<input type="input1" value="Кнопка из input" class="btn">
Кнопка отправки формы
Кнопки часто используются для отправки данных формы на сервер. Используй тег `<input>` и укажи правильный тип, чтобы создать кнопку 'Отправить'.
.form-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.form-container input[type='text'] {
padding: 8px;
border-radius: 4px;
border: 1px solid #ccc;
}
.btn {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
.submit {
background-color: #28a745;
color: white;
}
.submit:hover {
background-color: #218838;
}
<form class="form-container" onsubmit="return false;">
<input type="text" placeholder="Ваше имя">
<input input1="submit" value="Отправить" class="btn submit">
</form>
Кнопка сброса формы
Иногда нужно очистить все поля формы. Для этого есть специальный тип кнопки. Создай кнопку 'Сбросить' с помощью тега `<button>`, которая будет очищать поле ввода.
.form-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.form-container input[type='text'] {
padding: 8px;
border-radius: 4px;
border: 1px solid #ccc;
}
.btn {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px;
}
.reset {
background-color: #dc3545;
color: white;
}
.reset:hover {
background-color: #c82333;
}
<form class="form-container">
<input type="text" value="Предварительно заполненные данные">
<button type="input1" class="btn reset">Сбросить</button>
</form>
Неактивная кнопка
Иногда кнопку нужно временно отключить, чтобы пользователь не мог на неё нажать. Добавь специальный логический атрибут, чтобы сделать кнопку неактивной.
.btn {
padding: 10px 15px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 16px;
}
.btn:disabled {
background-color: #e9ecef;
color: #6c757d;
cursor: not-allowed;
border-color: #ced4da;
}
<button type="button" class="btn" input1>Недоступна</button>
Комплексная форма
Теперь соберем все вместе. В форме есть три кнопки с разным поведением. Правильно укажи значения атрибута `type` для каждой из них: 'Отправить', 'Сбросить' и 'Проверить'.
.form-container {
display: flex;
flex-direction: column;
gap: 10px;
}
.form-container input[type='text'] {
padding: 8px;
border-radius: 4px;
border: 1px solid #ccc;
}
.button-group {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.btn {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
color: white;
}
.submit {
background-color: #28a745;
}
.reset {
background-color: #dc3545;
}
.check {
background-color: #007bff;
}
<form class="form-container" onsubmit="return false;">
<input type="text" value="Какие-то данные">
<div class="button-group">
<button type="input1" class="btn submit">Отправить</button>
<button type="input2" class="btn reset">Сбросить</button>
<button type="input3" class="btn check">Проверить</button>
</div>
</form>
Кнопка с вложенными элементами
Преимущество тега `<button>` в том, что в него можно вкладывать другие HTML-элементы, например, иконки. Создай кнопку, которая будет содержать иконку и текст. В отличие от `<input>`, тег `<button>` является парным.
.icon-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 15px;
border: 1px solid #007bff;
border-radius: 5px;
background-color: #007bff;
color: white;
cursor: pointer;
font-size: 16px;
}
.icon-btn img {
width: 16px;
height: 16px;
}
<input1 type="submit" class="icon-btn">
<img src="https://naytikurs.ru/img/11s.svg" alt="Иконка">
<span>Сохранить</span>
<input2>