Глиф Учебники

Как сделать кнопку в HTML и CSS

Справочник · HTML и CSS · 1 минута чтения

Кнопку делают тегом <button>, если она выполняет действие, и ссылкой <a>, если она ведёт на другую страницу. Выглядеть в CSS они могут одинаково:

HTML
<button type="button" class="btn">Показать ещё</button>
<a href="signup.html" class="btn">Записаться на курс</a>
CSS
.btn {
  display: inline-block;
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  background-color: #1a73e8;
  color: #fff;
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s;
}

.btn:hover {
  background-color: #155ab6;
}

.btn:focus-visible {
  outline: 3px solid #f4b400;
  outline-offset: 2px;
}

Что за что отвечает

button или a

Что делает элементТег
переходит на другую страницу или сайт<a href="…">
отправляет форму<button type="submit">
открывает окно, показывает блок, запускает JavaScript<button type="button">

Внутри <form> у <button> без type действует type="submit": кнопка «Показать пароль» без type="button" отправит форму. Поэтому type лучше писать всегда.

Полезные варианты

Кнопка во всю ширину блока — удобна на телефоне:

CSS
.btn-wide {
  display: block;
  width: 100%;
}

Кнопка-контур:

CSS
.btn-outline {
  background-color: transparent;
  color: #1a73e8;
  border: 2px solid #1a73e8;
}

Неактивная кнопка — атрибут disabled: на неё нельзя нажать, а в CSS её видно по :disabled:

HTML
<button type="submit" class="btn" disabled>Отправить</button>
CSS
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

У ссылки атрибута disabled нет — если переход не нужен, это не ссылка.

Подводные камни