Генератор CSS-кнопок
Создайте кнопку и проверьте её обычное состояние, наведение, фокус с клавиатуры, нажатие, отключённое состояние и загрузку. Настройте сплошной фон или градиент из двух цветов, границу, отступы, скругление, тень и цвета состояний. Генератор экранирует текст кнопки, хранит дизайн в браузере и создаёт семантический HTML с CSS в заданных безопасных пределах.
Как создать CSS-кнопку
-
1
Введите текст
Укажите обычный текст для видимой надписи. Символы, похожие на HTML, сохраняются как текст и не выполняются.
-
2
Настройте основной вид
Выберите сплошной или градиентный фон, цвета текста и границы, размер, отступы, радиус скругления и тень.
-
3
Задайте состояния
Настройте цвета и смещение для наведения, нажатия и фокуса. Правила для отключённого состояния и загрузки добавляются автоматически.
-
4
Проверьте рекомендации
Оцените минимальный контраст текста, контраст индикатора фокуса и обязательный минимальный размер области нажатия перед экспортом.
-
5
Скопируйте или скачайте
Скопируйте экранированные HTML и CSS вместе или скачайте автономный HTML-файл в UTF-8 для просмотра.
Что входит в сгенерированный код
В HTML используется настоящий элемент <button type="button">, а видимая надпись помещается внутрь span. CSS охватывает шесть полезных состояний:
- Обычное для исходного вида кнопки
- Наведение для устройств с указателем
- Фокус с клавиатуры через
:focus-visible - Нажатие в момент активации элемента
- Отключено через стандартное свойство
disabled - Загрузка через
aria-busy="true"
Ваше приложение само определяет, когда кнопка отключена или занята. Генератор создаёт правила оформления, но не придумывает состояние приложения и не назначает обработчик нажатия.
Проверка контраста не является сертификатом
Редактор вычисляет наименьший контраст текста среди основного цвета, конечного цвета градиента, цвета при наведении и цвета при нажатии. Для обычного текста ориентир составляет 4,5:1. Контур фокуса также сравнивается со светлой поверхностью предпросмотра, а ориентир для нетекстового элемента составляет 3:1.
Эти значения помогают выявить распространённые проблемы, однако на готовой странице кнопка может находиться на другом фоне. Повторно проверьте контраст фокуса и границы в реальном макете. Отключённые элементы показаны с меньшей непрозрачностью; если их назначение неочевидно, добавьте понятное пояснение рядом.
Размер области нажатия и движение
Экспортируемое правило задаёт минимальную ширину и высоту 44 px. Такой размер удобен для многих сенсорных интерфейсов и превышает минимум 24 CSS px из критерия успешности 2.5.8 WCAG 2.2. В готовом продукте всё равно нужно учитывать компоновку, расстояния, исключения и рекомендации платформы.
Смещение при наведении и нажатии отключается, если пользователь предпочитает уменьшенную анимацию. Индикатор загрузки замедляется, а не исчезает, поэтому занятое состояние остаётся заметным.
Границы безопасного вывода
Видимая надпись нормализуется, ограничивается 120 графемными кластерами, очищается от невидимых управляющих символов направления и экранируется в HTML-фрагменте и скачиваемом файле. Цвета должны быть шестизначными шестнадцатеричными значениями. Каждая числовая настройка округляется и ограничивается диапазоном, указанным рядом с полем.
Полный редактор работает в памяти браузера. В дополнительном четырёхстраничном режиме версия дизайна хранится в sessionStorage текущей вкладки. Текст и параметры дизайна не добавляются в URL этапов и не передаются через Livewire.
Использование состояния загрузки
Устанавливайте и удаляйте атрибут занятости из кода приложения:
<button type="button" class="generated-button" aria-busy="true" disabled>
<span class="generated-button__label">Сохранение</span>
</button>
aria-busy сообщает, что обновление ещё выполняется. Добавьте также disabled, если нужно предотвратить повторную активацию. После завершения операции удалите оба атрибута и выведите важное сообщение об успехе или ошибке в подходящей области состояния.
Часто задаваемые вопросы
Нет. Он предоставляет расчёты контраста, видимое правило фокуса, поддержку уменьшенной анимации, семантический HTML и минимальную область нажатия 44 px. Соответствие зависит от готовой страницы, окружающих цветов, содержимого, поведения и тестирования.
Нет. Редактор хранит надпись и дизайн в памяти браузера. Дополнительный многостраничный режим использует хранилище сеанса в той же вкладке и не добавляет введённые значения в URL и запросы Livewire.
Кнопка подходит для действий: отправки формы, открытия окна или переключения состояния. Для перехода используйте ссылку с настоящим href, а затем примените созданный класс, если ссылка должна выглядеть так же.
Редактор сообщит об ошибке и оставит полный результат выделенным в доступном для чтения текстовом поле, чтобы его можно было скопировать вручную. Сообщение об успехе появляется только после завершения Clipboard API.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Конвертер BBCode в HTML
Преобразуйте BBCode (разметку форумов) в чистый HTML. Поддерживает теги форматирования, списки, цитаты, код, изображения, ссылки и таблицы.
Генератор случайных цветовых палитр
Создавайте случайные палитры из 2–15 цветов, выбирайте яркий, пастельный, приглушенный или темный стиль и копируйте HEX-коды или CSS-переменные.
Конвертер двоичного кода в ASCII
Вставьте двоичный код (байты через пробел или длинный поток битов) и получите текст ASCII, который он представляет. Поддерживает 7-битные и 8-битные кодировки.
Генератор цветовой палитры
Создавайте монохромные, аналоговые, комплементарные, триадные или тетрадные палитры из базового HEX-цвета и экспортируйте готовые CSS-переменные.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.