CodeKitHub
CSS инструменти

CSS Checkbox Generator

Последна актуализация:

Изберете стил на квадратчето за отметка, задайте размера и акцентния цвят, а инструментът генерира CSS код, който заменя стандартното браузърно квадратче с персонализирано, напълно кликаемо и достъпно такова — без нужда от икон шрифтове или изображения.

Preview

Click the checkbox in the preview to see the checked state.

Generated CSS

Какво представлява този инструмент?

Стандартните квадратчета за отметка изглеждат различно във всеки браузър и трудно се стилизират директно, тъй като вграденият им външен вид се изчертава от операционната система, а не от чист CSS. Обичайният подход е визуално да се скрие нативното квадратче и вместо него да се стилизира съседен елемент, управляван от състоянието :checked на квадратчето — полето остава напълно функционално и достъпно, променя се само външният му вид.

Този инструмент изгражда точно този модел за три често използвани стила: заоблено квадратче с анимирана отметка, плъзгащ се превключвател в стил на iOS и запълнен кръг (наподобяващ радио бутон). Кликнете върху квадратчето в прегледа, за да видите състоянието „отметнато“, регулирайте размера и акцентния цвят, след което копирайте CSS кода.

Източник: Selectors Level 4, W3C — спецификацията, дефинираща псевдокласа :checked, на който се основава тази техника.

Защо да го използвате?

  • Жив, кликаем преглед — превключете квадратчето, за да видите точно как изглеждат отметнатото и неотметнатото състояние.
  • Три различни, широко използвани стила в един инструмент: квадратче с отметка, превключвател и запълнен кръг.
  • Основният елемент остава истински <input type="checkbox">, така че навигацията с клавиатура, изпращането на формуляри и екранните четци продължават да работят нормално.
  • Регулируем размер и акцентен цвят, генерирани директно като стойности в CSS кода, вместо да се оставят като променливи за попълване.
  • Не са нужни икон шрифт, SVG файл или изображение — отметката и плъзгачът се изчертават с обикновени CSS рамки и псевдоелементи.
  • Безплатен, работи във вашия браузър, без регистрация.

Как да го използвате

  1. Изберете стил: заоблена отметка, превключвател или запълнен кръг.
  2. Плъзнете плъзгача за размер, за да увеличите или намалите квадратчето.
  3. Изберете акцентен цвят — той става цветът на фона и рамката в отметнато състояние.
  4. Кликнете върху квадратчето в панела за преглед, за да потвърдите, че отметнатото и неотметнатото състояние изглеждат правилно.
  5. Копирайте генерирания CSS код в своя стилов лист и го използвайте за всеки <input type="checkbox">, обвит по същия начин като маркиращата разметка в прегледа.

Пример

Вход

Style: rounded checkmark · Size: 24px · Color: orange

Резултат

.css-checkbox .mark {
  width: 24px;
  height: 24px;
  border: 2px solid #f97316;
  border-radius: 5px;
}

.css-checkbox input:checked + .mark {
  background: #f97316;
}

Полето за квадратчето е визуално скрито; видимото квадратче е съседен елемент <span>, стилизиран според състоянието :checked на полето, с малка завъртяна рамка, изчертана като отметка при избиране.

Защо да скриете нативното квадратче, вместо да го премахнете

Изкушаващо е да се пропусне истинският <input> и да се изгради квадратче изцяло от стилизиран <div> с обработчик на кликове, но така безплатно се губят поддръжката на клавиатура, изпращането на формуляри и семантиката за екранни четци. Моделът, който този инструмент генерира, запазва истинското поле за квадратче в разметката — само визуално скрито с opacity: 0 и преместено — така че браузърът продължава да го третира като истинско квадратче във всяко отношение, докато съседен елемент се грижи за видимия стил.

Трите стила накратко

  • Заоблена отметка: познат модел „квадратче с отметка“, най-често използван за полета във формуляри, отметки за съгласие и списъци с множествен избор.
  • Превключвател: възприема се като моментна настройка вкл./изкл., а не като поле от формуляр — най-подходящ за екрани с предпочитания и настройки, а не за списъци с квадратчета.
  • Запълнен кръг: минималистичен вид, наподобяващ радио бутон, полезен когато квадратно поле би изглеждало визуално тежко на фона на заоблени UI елементи наблизо.

Съгласуване с останалата част от вашия интерфейс

Генерираният акцентен цвят влияе само на отметнатото състояние — изберете цвета на вашата марка или бутони, за да изглежда квадратчето последователно с останалата част от страницата. Съчетайте го със същия border-radius, използван другаде в интерфейса, за по-цялостен вид.

→ Border Radius Generator

Често задавани въпроси

Достъпно ли е все още стилизираното квадратче?

Да — основният елемент е истински <input type="checkbox">, само визуално скрит, а не премахнат. То продължава да получава фокус, да реагира на клавиатурен вход (интервал за превключване) и да бъде правилно обявявано от екранни четци, тъй като помощните технологии четат полето за въвеждане, а не стилизирания span до него.

Защо CSS кодът използва съседен селектор като input:checked + .mark?

Тъй като видимото квадратче е отделен елемент от действителното поле за квадратче, на CSS му е нужен начин да стилизира този съседен елемент въз основа на състоянието на полето. Комбинаторът + избира елемента непосредствено след отметнатото поле, което е стандартната техника за изграждане на персонализирани стилове за квадратчета и радио бутони без JavaScript.

Мога ли да използвам това в реален формуляр, а не само за демонстрация?

Да — копирайте генерирания CSS код и обвийте истинско поле за квадратче от формуляр в същата структура на разметката, показана в HTML/прегледа. Тъй като все още е нативно квадратче, то се изпраща с формуляра точно като нестилизирано, и работи със съществуващата логика за валидация на формуляри.

Защо отметката е анимирана при заобления стил?

Кратка анимация на увеличаване при появяване на отметката прави отметнатото състояние да изглежда по-целенасочено и отзивчиво, отколкото моментално появяване/изчезване, което е често срещан модел при изчистените UI квадратчета. Това е малко CSS keyframes правило, включено заедно с останалия генериран код.

Изисква ли стилът превключвател различна HTML разметка?

Не — и трите стила използват една и съща основна разметка (скрито поле за квадратче плюс съседен елемент за видимата форма). Смяната на стилове в този инструмент променя само CSS правилата, приложени към същата структура, така че по-късно можете да сменяте стиловете, без да пипате своя HTML код.

Свързани инструменти