:indeterminate
je selektor pseudo-triedy v CSS pomenovaný pre stav, ktorý nie je ani začiarknutý, ani nezaškrtnutý. Je to ten medzistupňový stav, ktorý by sme mohli zvážiť medzi možnosťami „možno“ medzi „áno“ a „nie“. Štát nie je úplne určený, odtiaľ pochádza aj názov: neurčitý.
Neurčité začiarkavacie políčka
Najbežnejšie miesto, ktoré môžeme v hre vidieť, je začiarkavacie políčka vo forme:


Existuje niekoľko svojráznych vecí, :indeterminate
pokiaľ ide o začiarkavacie políčka, ktoré stojí za zmienku, skôr ako sa pustíte do hľadania možností, ako ich možno zvoliť v CSS.
Nemožno ju nastaviť v kóde HTML
Po prvé, v HTML nie je možné nastaviť začiarkavacie políčko na neurčitý stav. V úvodnom príklade vyššie sme boli schopní nastaviť druhé začiarkavacie políčko na začiarknutie výslovným vyslovením v HTML.
Je len logické predpokladať, že by sme mohli urobiť to isté s neurčitým stavom:
Bohužiaľ to tak nie je, takže tento posledný príklad vo svojom kóde nepoužívajte.
V čase písania tohto článku je Javascript jediným prostriedkom na nastavenie neurčitého stavu začiarkavacieho políčka. Jedným zo spôsobov, ako to dosiahnuť, je výber konkrétneho začiarkavacieho políčka podľa ID:
var checkbox = document.getElementById("some-checkbox"); checkbox.indeterminate = true;
Obmedzenie vyššie uvedeného príkladu je, že začiarkavacie políčko sa nikdy nemôže vrátiť do neurčitého stavu, akonáhle sa zmení na iný stav. Namiesto toho môžeme rotovať medzi kontrolovaným, nekontrolovaným a neurčitým stavom:
function toggle(demo) ( if (demo.readOnly) demo.checked=demo.readOnly=false; else if (!demo.checked) demo.readOnly=demo.indeterminate=true; )
Prezrite si začiarkavacie políčka Pen Rotate States od Geoffa Grahama (@geoffgraham) na CodePen.
Je to čisto vizuálny stav
Začiarkavacie políčko stále počíta iba to, či bolo začiarknuté alebo nezaškrtnuté, bez ohľadu na to, či sme aktivovali neurčitý stav. Inými slovami, neurčitý maskuje skutočnú hodnotu začiarkavacieho políčka a nepočíta sa ako vlastná hodnota.
Predvolený vzhľad je v rôznych prehliadačoch nekonzistentný
Rovnako ako numerické vstupy, aj neurčitý stav sa nemodifikuje dôsledne v každom prehľadávači.


Celkovo tu však existuje podpora pre neurčité začiarkavacie políčka.
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
28 | 3.6 | 6 | 12 | 6 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4 | 12.2-12.4 |
Neurčité rádiové tlačidlá
:indeterminate
sa môže vzťahovať na prepínače na úrovni skupiny, kde sa celá skupina považuje za neurčitý stav, ak nie je vybratá žiadna možnosť.
Pozrite si tlačidlá Pen Inderminate Radio Buttons od Geoffa Grahama (@geoffgraham) na stránkach CodePen.
Mali by sme poznamenať, že používanie :indeterminate
nemusí byť najlepšou voľbou, pokiaľ ide o užívateľskú skúsenosť.
Neurčité ukazovatele priebehu
Môžeme tiež použiť :indeterminate
na element, kde v HTML nebola výslovne nastavená žiadna hodnota. Javascript nie je potrebný, ale
samotný štýl prvku je zložitá vec, ktorá si vyžaduje veľa práce a zváženia konzistencie medzi prehliadačmi.
Prezrite si prvok neurčitého pokroku pera od Geoffa Grahama (@geoffgraham) na stránkach CodePen.
Podpora prehľadávača
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
39 | 51 | 11 | 79 | 10.1 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 10.3 |
Viac informácií
- Pracovný koncept selektorov CSS úrovne 4
- Neurčité začiarkavacie políčka
- Neurčité rádiové tlačidlá
- Priebeh priebehu HTML5