Перейти к основному содержимому

Стилизация кнопок CSS

С помощью CSS HTML-кнопки могут выглядеть множеством разных способов.

Основную работу выполняют эти свойства:

  • background-color — заливает кнопку цветом фона
  • color — задаёт цвет текста кнопки
  • border — рисует линию вокруг кнопки
  • padding — управляет промежутком между текстом и рамкой
  • border-radius — скругляет углы кнопки
  • box-shadow — добавляет кнопке тень
  • text-align — размещает текст кнопки по центру
  • font-size — управляет тем, насколько крупным выглядит текст кнопки
  • text-decoration — убирает подчёркивание, когда элемент <a> выступает в роли кнопки
  • cursor — меняет курсор мыши, пока он находится над кнопкой

Обычно роль кнопки выполняют три элемента: <button>, <input type="button"> и <a>, стилизованный как кнопка.


Базовая стилизация кнопок CSS

Любой HTML-элемент может выглядеть как кнопка, если задать ему несколько свойств CSS: цвет фона, немного отступов, цвет текста и отсутствие рамки по умолчанию.

Пример

Базовая стилизация кнопок на разных HTML-элементах:

Prompt
Создай страницу, показывающую обычную кнопку без стилей и CSS-стилизованную кнопку рядом друг с другом. Стилизованная кнопка должна иметь красный фон, белый текст, без границы, отступ 15px 32px, центрированный текст, без подчёркивания, display inline-block, размер шрифта 16px и курсор pointer. Используй элемент для обычной кнопки и элемент для стилизованной.
Output: complete HTML page "}, {

Цвета кнопок CSS

Цветом здесь управляют два свойства: background-color для того, что находится за текстом, и color для самого текста.

Пример

У каждой кнопки здесь свой цвет фона:

Prompt
Создай страницу с пятью кнопками в ряд, каждая с разным цветом фона: зелёная (#04AA6D), синяя (#008CBA), красная (#f44336), серая (#e7e7e7 с чёрным текстом) и чёрная (#555555). У всех кнопок базовый стиль с белым текстом, без границы, отступом 15px 32px, центрированным текстом, размером шрифта 16px и курсором pointer.
Output: complete HTML page "}, {

Размеры кнопок CSS

Размер определяют два свойства. font-size масштабирует текст на кнопке, а padding регулирует, сколько места остаётся между этим текстом и рамкой.

Кнопки с разным размером шрифта

Размер шрифта меняется от кнопки к кнопке:

Prompt
Создай страницу с пятью кнопками, показывающими разные размеры шрифта: 10px, 12px, 16px, 20px и 24px. У всех кнопок базовый стиль с зелёным фоном (#04AA6D), белым текстом, без границы, отступом 15px 32px, центрированным текстом и курсором pointer.
Output: complete HTML page "}, {

Кнопки с разными отступами

Здесь различается значение отступов:

Prompt
Создай страницу с пятью кнопками, показывающими разные значения отступов (padding): 10px 24px, 12px 28px, 14px 40px, 32px 16px и 16px. У всех кнопок базовый стиль с зелёным фоном (#04AA6D), белым текстом, без границы, центрированным текстом, размером шрифта 16px и курсором pointer.
Output: complete HTML page "}, {

Скруглённые кнопки CSS

Используйте border-radius, чтобы скруглить углы кнопки.

Пример

Углы, скруглённые в разной степени:

Prompt
Создай страницу с пятью кнопками, показывающими разные значения border-radius: 2px, 4px, 8px, 12px и 50%. У всех кнопок базовый стиль с зелёным фоном (#04AA6D), белым текстом, без границы, отступом 15px 32px, центрированным текстом, размером шрифта 16px и курсором pointer.
Output: complete HTML page "}, {

Рамки кнопок CSS

Рамку кнопки задаёт свойство border.

Пример

Стиль рамки меняется от кнопки к кнопке:

Prompt
Создай страницу с пятью кнопками, показывающими разные стили границ: 2px сплошная зелёная (#04AA6D), 2px пунктирная синяя (#008CBA), 2px штриховая красная (#f44336), 1px сплошная серая (#e7e7e7) и 1px сплошная тёмно-серая (#555555). У всех кнопок базовый стиль с белым фоном, текстом того же цвета, что и граница, отступом 15px 32px, центрированным текстом, размером шрифта 16px и курсором pointer.
Output: complete HTML page "}, {