← Все вопросы
Как сделать красивую кнопку на CSS (padding, border-radius)?
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; — получится вторичный стиль в пару к основному.
Ваш ответ
Войдите, чтобы ответить на вопрос.