
Кнопка в HTML задаётся с помощью тега <button> или атрибута type внутри тега <input>. Первый вариант позволяет вставлять внутрь кнопки текст, иконки и любые другие элементы, второй – ограничивается текстовым содержимым, но удобен для простых случаев.
Атрибут type определяет поведение кнопки. Значение submit отправляет форму, reset очищает все поля, button используется для пользовательских действий через JavaScript. По умолчанию тег <button> работает как submit, поэтому для кнопок, не связанных с формой, стоит явно указывать type=»button».
Кнопка может содержать не только текст, но и HTML-элементы: <span> для иконок, <strong> для выделения, а также SVG-графику. Это даёт больше гибкости при создании интерфейсов, чем использование <input type=»button»>.
Создание кнопки с помощью тега <button>
Тег <button> создаёт интерактивный элемент, который может использоваться для отправки формы, вызова скрипта или любых других действий. В отличие от <input type=»button»>, он позволяет помещать внутрь текст, символы и вложенные элементы, например иконки или теги <span>.
Базовый пример:
<button type="button">Нажми меня</button>
Атрибут type определяет поведение кнопки:
| Значение | Назначение |
|---|---|
| button | Обычная кнопка, не отправляет форму. Используется для вызова скриптов. |
| submit | Отправляет данные формы на сервер. Значение по умолчанию. |
| reset | Сбрасывает значения всех полей формы к исходным. |
Рекомендации:
- Указывать атрибут type, чтобы избежать неожиданного поведения в формах.
- Использовать содержимое кнопки для наглядного описания действия, например: «Отправить», «Удалить».
- Для доступа с клавиатуры добавлять атрибут accesskey или использовать правильный порядок табуляции через tabindex.
Пример кнопки, вызывающей JavaScript-функцию:
<button type="button" onclick="alert('Привет!')">Показать сообщение</button>
Использование атрибута type для разных действий

Атрибут type определяет назначение кнопки. Без указания значения по умолчанию применяется submit, что приводит к отправке формы.
type=»submit» используется для отправки данных формы на сервер. Важно применять его только к кнопкам, которые действительно должны запускать процесс отправки.
type=»reset» очищает все поля формы, возвращая их к исходному состоянию. Такая кнопка удобна при больших формах, но её стоит размещать отдельно, чтобы избежать случайного нажатия.
type=»button» не выполняет действий с формой и применяется для вызова JavaScript-функций, например открытия модального окна или запуска AJAX-запроса.
Выбор значения type напрямую влияет на поведение интерфейса, поэтому всегда указывайте его явно, чтобы исключить непредсказуемые результаты.
Добавление кнопки через тег <input>

Тег <input> позволяет создать кнопку с атрибутом type. Наиболее часто применяются три значения:
type="button"– простая кнопка для вызова JavaScript.type="submit"– отправка данных формы.type="reset"– сброс всех полей формы.
Пример кнопки, запускающей функцию:
<input type="button" value="Нажми" onclick="alert('Пример!')">
Особенности:
- Атрибут
valueопределяет текст на кнопке. - Для
type="submit"иtype="reset"атрибутvalueтакже задаёт надпись. - Кнопка через
<input>не поддерживает вложенные элементы, например, иконки. - Для сложных кнопок лучше использовать
<button>, а<input>оставлять для простых форм.
Привязка обработчика событий с атрибутом onclick

Пример:
<button onclick="alert('Кнопка нажата!')">Нажми меня</button>
Вместо alert можно вызывать функции. Это удобнее, чем писать весь код внутри атрибута.
<button onclick="sayHello()">Привет</button>
<script>
function sayHello() {
console.log('Привет из функции');
}
</script>
Недостатки метода: смешивание HTML и JavaScript, сложность поддержки при большом числе кнопок. Однако для быстрых прототипов или простых сценариев использование onclick оправдано.
Стилизация кнопок с помощью CSS
Для изменения внешнего вида кнопок применяются свойства CSS: цвет, фон, отступы, рамки и тени. Например, свойство background-color задаёт фон, color – цвет текста, padding – внутренние отступы, border-radius – скругление углов.
Чтобы кнопка реагировала на действия пользователя, используется псевдокласс :hover. Пример: button:hover { background-color: #0055cc; }. Это позволяет менять цвет при наведении курсора.
Для плавных переходов применяют transition. Например: transition: background-color 0.3s;. Кнопка меняет цвет постепенно, что повышает удобство восприятия.
Для добавления глубины можно использовать box-shadow. Пример: box-shadow: 0 2px 5px rgba(0,0,0,0.2);. Тень делает элемент более заметным на странице.
Размер текста задаётся через font-size, а его насыщенность – через font-weight. Это позволяет выделять кнопку среди других элементов интерфейса.
Если нужно сделать кнопку одинаковой ширины, используется display: inline-block; или display: flex; с заданием фиксированной ширины через width.
Создание кнопок-ссылок через тег <a>
Тег <a> предназначен для создания ссылок, но с помощью CSS и атрибутов его можно использовать как кнопку. Основное преимущество – возможность перенаправления на другой URL при клике.
Базовый пример кнопки-ссылки:
<a href="https://example.com">Перейти</a>
Рекомендации по улучшению кнопки-ссылки:
- Добавьте атрибут role=»button» для доступности, чтобы скринридеры воспринимали элемент как кнопку.
- Используйте tabindex=»0″, если нужно, чтобы кнопка была доступна через клавишу Tab.
- Добавьте стили для hover и active, чтобы пользователь видел визуальную обратную связь при наведении или нажатии.
Пример с базовыми стилями:
<a href="https://example.com" role="button">Перейти</a>
Особенности использования:
- Кнопка-ссылка всегда перенаправляет на другой ресурс, не выполняя JavaScript-логику по умолчанию.
- Можно добавлять атрибут target=»_blank» для открытия ссылки в новой вкладке.
- Для мобильных устройств важно увеличивать область клика с помощью padding, чтобы улучшить UX.
Добавление иконок внутри кнопки
Для включения иконки в кнопку чаще всего используют шрифтовые библиотеки, такие как Font Awesome или Material Icons. Иконка вставляется через тег с соответствующими классами, например: <i class="fa fa-check"></i>. Текст кнопки размещают после иконки для правильного порядка отображения.
Важно учитывать выравнивание: иконка и текст должны быть центрированы по вертикали. Это достигается с помощью CSS-свойств display: inline-flex; и align-items: center; на кнопке. Отступ между иконкой и текстом задают через margin-right у иконки.
Для SVG-иконок вставка выполняется напрямую внутри кнопки через тег <svg>. SVG позволяет точно контролировать размер, цвет и анимацию без зависимостей от внешних библиотек.
При использовании нескольких иконок внутри одной кнопки рекомендуется создавать отдельные контейнеры для каждой, чтобы сохранить читаемость кода и гибкость позиционирования. Атрибут aria-hidden="true" применяется к декоративным иконкам для доступности.
Иконки внутри кнопок можно менять динамически через JavaScript, заменяя классы или элементы SVG, что упрощает визуальные состояния, например, переключение «лайк/дизлайк» или загрузка процесса.
Вопрос-ответ:
Какие теги используются для создания кнопок в HTML?
В HTML для создания кнопок применяются два основных тега:
Как изменить цвет кнопки с помощью HTML и CSS?
Чтобы изменить цвет кнопки, можно использовать CSS-свойство background-color для фона и color для текста. Например, если у кнопки есть класс .my-button, можно написать: .my-button { background-color: #4CAF50; color: white; }. Так кнопка будет зелёной с белым текстом. Также можно добавлять эффекты при наведении через :hover.
Можно ли сделать кнопку ссылкой на другую страницу?
Да, есть несколько способов. Самый простой — использовать тег и стилизовать его как кнопку через CSS. Другой вариант — добавить JavaScript к кнопке
Как добавить иконку внутрь кнопки?
Иконку можно вставить с помощью тега или используя шрифты-иконки, например Font Awesome. Внутри тега
Текст кнопки
Что делать, если кнопка не реагирует на нажатие?
Если кнопка не работает, нужно проверить несколько вещей. Для
Как создать простую кнопку в HTML и задать ей текст?
В HTML кнопка создается с помощью тега . Внутри тега указывается текст, который будет отображаться на кнопке. Например, создаст кнопку с надписью «Нажми меня». Вы также можете использовать атрибут type, чтобы указать назначение кнопки, например type="submit" для отправки формы.
