← Все вопросы

Как сделать красивую кнопку на CSS (padding, border-radius)?

Задан 22 месяца назад1.2к просмотров2 ответа
9

У меня стандартная серая кнопка браузера, выглядит уныло. Хочу сделать аккуратную современную кнопку: с отступами, скруглением, своим цветом и реакцией на наведение. С чего начать стилизацию?

2 ответа

14
✓ Принятый ответ — помог автору

Стилизация кнопки складывается из нескольких базовых свойств. Вот рабочий шаблон:

.btn {
  /* отступы внутри — кнопка дышит */
  padding: 12px 24px;
  /* свой цвет и текст */
  background: #4f46e5;
  color: #fff;
  /* убираем системную рамку */
  border: none;
  /* скругление углов */
  border-radius: 8px;
  /* типографика и курсор */
  font-size: 16px;
  cursor: pointer;
  /* плавность при наведении */
  transition: background 0.2s ease;
}

.btn:hover {
  background: #4338ca; /* темнее на наведении */
}

.btn:active {
  transform: translateY(1px); /* лёгкое «нажатие» */
}
<button class="btn">Отправить</button>

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

  • padding: 12px 24px — вертикальный и горизонтальный внутренний отступ, кнопка не сжата вокруг текста;
  • border-radius — скругление углов (чем больше, тем «таблеточнее»; 999px даст полностью круглые края);
  • cursor: pointer — курсор-рука, важная мелочь для UX;
  • transition — плавная смена цвета вместо резкого.

Типичные забывашки: оставить системный border, не задать cursor: pointer, забыть :hover — без него кнопка кажется неживой.

5

Чтобы кнопки <button> и ссылки-кнопки <a> выглядели одинаково, добавьте display: inline-block; text-decoration: none; line-height: 1; и применяйте один класс к обоим. Ещё совет: для «обводочной» кнопки делайте background: transparent; border: 2px solid #4f46e5; color: #4f46e5; — получится вторичный стиль в пару к основному.

Ваш ответ

Войдите, чтобы ответить на вопрос.