CodeKitHub
CSS nástroje

Generátor CSS zaškrtávacích políčok

Naposledy aktualizované:

Vyberte štýl zaškrtávacieho políčka, nastavte veľkosť a farbu a tento nástroj vygeneruje CSS, ktorý nahradí obyčajné predvolené políčko prehliadača vlastným štýlom, pričom zostáva plne klikateľné a prístupné — bez ikonových fontov alebo obrázkov.

Preview

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

Generated CSS

Čo je tento nástroj?

Predvolené zaškrtávacie políčka prehliadača vyzerajú v každom prehliadači inak a je ťažké ich priamo prestylizovať, pretože ich vstavaný vzhľad kreslí operačný systém, nie čisté CSS. Štandardným riešením je vizuálne skryť natívne políčko a namiesto toho štylizovať susedný prvok, riadený stavom :checked políčka — vstup zostáva plne funkčný a prístupný, mení sa len jeho vzhľad.

Tento nástroj zostavuje tento vzor pre tri bežné štýly zaškrtávacích políčok: zaoblený box s animovanou fajočkou, posuvný prepínač v štýle iOS a vyplnený kruh (podobný radio buttonu). Kliknutím na zaškrtávacie políčko v náhľade zobrazíte zaškrtnutý stav, upravte veľkosť a farbu a skopírujte CSS.

Zdroj: Selectors Level 4, W3C — špecifikácia definujúca pseudo-triedu :checked, na ktorej je táto technika založená.

Prečo ho používať?

  • Živý, klikateľný náhľad — prepnite zaškrtávacie políčko a zistite presne, ako vyzerá zaškrtnutý aj nezaškrtnutý stav.
  • Tri odlišné, bežne používané štýly v jednom nástroji: box s fajočkou, prepínač a vyplnený kruh.
  • Základný prvok zostáva skutočným <input type="checkbox">, takže klávesová navigácia, odosielanie formulára a čítačky obrazovky fungujú normálne ďalej.
  • Nastaviteľná veľkosť a farba, generované priamo do hodnôt CSS namiesto premenných na dodatočné vyplnenie.
  • Nie je potrebný ikonový font, súbor SVG ani obrázok — fajočka a bodka prepínača sú nakreslené obyčajnými CSS okrajmi a pseudo-elementmi.
  • Zadarmo, beží vo vašom prehliadači, bez registrácie.

Ako sa používa

  1. Vyberte štýl: zaoblená fajočka, prepínač alebo vyplnený kruh.
  2. Potiahnutím posuvníka veľkosti zväčšite alebo zmenšite zaškrtávacie políčko.
  3. Vyberte farbu — tá sa stane farbou pozadia a okraja v zaškrtnutom stave.
  4. Kliknite na zaškrtávacie políčko v paneli náhľadu, aby ste potvrdili, že zaškrtnutý aj nezaškrtnutý stav vyzerajú správne.
  5. Skopírujte vygenerované CSS do svojho štýlopisu a použite ho na akýkoľvek <input type="checkbox"> obalený rovnakým spôsobom ako náhľadové markup.

Príklad

Vstup

Štýl: zaoblená fajočka · Veľkosť: 24px · Farba: oranžová

Výstup

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

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

Vstup zaškrtávacieho políčka je vizuálne skrytý; viditeľný box je susedný <span> štylizovaný podľa stavu :checked vstupu, s malým otočeným okrajom nakresleným ako fajočka po zaškrtnutí.

Prečo skryť natívne políčko namiesto jeho odstránenia

Je lákavé preskočiť skutočný <input> a vytvoriť zaškrtávacie políčko výlučne zo štylizovaného <div> s obslužnou funkciou kliknutia, ale tým sa zadarmo stratí podpora klávesnice, odosielanie formulára a sémantika pre čítačky obrazovky. Vzor, ktorý tento nástroj generuje, ponecháva skutočný vstup zaškrtávacieho políčka v markupe — len vizuálne skrytý pomocou opacity: 0 a preumiestnený — takže prehliadač ho stále v každom dôležitom ohľade považuje za skutočné zaškrtávacie políčko, zatiaľ čo susedný prvok sa stará o viditeľnú štylizáciu.

Tri štýly v prehľade

  • Zaoblená fajočka: dobre známy vzor štvorca s fajočkou, najbežnejší pre polia formulárov, súhlasy a zoznamy s viacnásobným výberom.
  • Prepínač: pôsobí ako okamžité nastavenie zapnuté/vypnuté skôr než ako pole formulára — najlepší pre obrazovky s preferenciami a nastaveniami, nie pre zoznamy zaškrtávacích políčok.
  • Vyplnený kruh: minimalistický vzhľad podobný radio buttonu, užitočný keď by štvorcový box pôsobil vizuálne ťažko vedľa okolitých zaoblených prvkov rozhrania.

Prispôsobenie zvyšku vášho rozhrania

Generovaná farba ovplyvňuje len zaškrtnutý stav — vyberte takú, akú má vaša značka alebo tlačidlá, aby zaškrtávacie políčko pôsobilo konzistentne so zvyškom stránky. Skombinujte ju s rovnakým border-radius, aký sa používa inde v rozhraní, pre súdržnejší vzhľad.

Generátor border-radius · Výber farby

Časté otázky

Je štylizované zaškrtávacie políčko stále prístupné?

Áno — základným prvkom je skutočný <input type="checkbox">, len vizuálne skrytý, nie odstránený. Stále prijíma fokus, reaguje na klávesnicu (medzerník na prepnutie) a čítačky obrazovky ho správne oznamujú, keďže asistenčné technológie čítajú vstupný prvok, nie štylizovaný span vedľa neho.

Prečo CSS používa susedný selektor ako input:checked + .mark?

Keďže viditeľný box je samostatný prvok od skutočného vstupu zaškrtávacieho políčka, CSS potrebuje spôsob, ako štylizovať tohto suseda na základe stavu vstupu. Kombinátor + vyberie prvok bezprostredne nasledujúci po zaškrtnutom vstupe, čo je štandardná technika na vytváranie vlastných štýlov zaškrtávacích políčok a radio buttonov bez JavaScriptu.

Môžem toto použiť v reálnom formulári, nielen v ukážke?

Áno — skopírujte vygenerované CSS a obaľte skutočný vstup zaškrtávacieho políčka formulára do rovnakej štruktúry markupu, akú vidíte v HTML/náhľade. Keďže ide stále o natívne zaškrtávacie políčko, odosiela sa spolu s formulárom presne ako neštylizované, a funguje s existujúcou logikou validácie formulára.

Prečo je fajočka pri zaoblenom štýle animovaná?

Krátka animácia zväčšenia na fajočke robí zaškrtnutý stav zámernejším a citlivejším než okamžité zobrazenie/zmiznutie, čo je bežný vzor v prepracovaných zaškrtávacích políčkach rozhrania. Ide o malé pravidlo CSS keyframes zahrnuté v zvyšku generovaného kódu.

Vyžaduje si štýl prepínača iné HTML?

Nie — všetky tri štýly používajú rovnaký základný markup (skrytý vstup zaškrtávacieho políčka plus susedný prvok pre viditeľný tvar). Zmena štýlu v tomto nástroji mení len CSS pravidlá aplikované na tú istú štruktúru, takže neskôr môžete štýly meniť bez zásahu do HTML.

Súvisiace nástroje