:focus-within
Volič pseudo v CSS je to trochu nezvyčajné, aj keď dobre menovaný a pomerne intuitívne. Vyberie prvok, ak obsahuje všetky podradené prvky :focus
.
form:focus-within ( background: lightyellow; )
Čo funguje takto ...
Povedal som „neobvyklý“, pretože v CSS nie je bežné, aby bolo možné vybrať nadradený prvok na základe existencie alebo stavu podradených prvkov. Iste je to užitočné!
Tu je príklad na vyskúšanie:
Pozrite si formulár jednoduchej odpovede pera s: zameraním Chrisa Coyiera (@chriscoyier) na CodePen.
Upozorňujeme, že príklad sa používa :focus-within
na celý formulár a na vnútorné zalamovanie vstupov
s.
Spustí sa akýkoľvek spôsob, ktorým sa dá zamerať detský prvok: zameranie-dovnútra. Ak má napríklad prvok tab-index
alebo alebo contenteditable
atribút, je to zaostrovateľný prvok a bude fungovať. Tiež nezáleží na tom, ako sa prvok zameral. Dalo by sa na ňu kliknúť alebo na ňu klepnúť, mohlo to byť na karte alebo k nej navigovať nejakým iným spôsobom, alebo dokonca zamerať ju pomocou JavaScriptu, napríklad ...
document.querySelector("input").focus();
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 |
---|---|---|---|---|
60 | 52 | Nie | 79 | 10.1 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 10.3 |