Den :focus-within
pseudo velgeren i CSS er litt uvanlig, men godt navngitt og heller intuitivt. Det velger et element hvis elementet inneholder barn som har :focus
.
form:focus-within ( background: lightyellow; )
Som fungerer slik ...
Jeg sa "uvanlig" fordi det ikke er vanlig i CSS å kunne velge et overordnet element basert på eksistensen eller tilstanden til underordnede elementer. Visst er nyttig skjønt!
Her er et eksempel på skjema for å prøve det:
Se pennens enkle responsive skjema med: focus-inside av Chris Coyier (@chriscoyier) på CodePen.
Merk at eksemplet bruker :focus-within
på hele skjemaet og på innvendig innpakning
s.
Enhver måte som et barneelement kan bli fokusert på vil utløse: fokus-innenfor. For eksempel, hvis et element har et tab-index
eller contenteditable
attributt, er det et fokuserbart element, og fungerer. Det spiller heller ingen rolle hvordan elementet ble fokusert. Det kunne klikkes eller trykkes på, det kunne ha blitt fanet til eller navigert til på noen annen måte, eller til og med fokusert gjennom JavaScript, som ...
document.querySelector("input").focus();
Nettleserstøtte
Disse nettleserstøttedataene er fra Caniuse, som har flere detaljer. Et tall indikerer at nettleseren støtter funksjonen i den versjonen og oppover.
Desktop
Chrome | Firefox | DVS | Kant | Safari |
---|---|---|---|---|
60 | 52 | Nei | 79 | 10.1 |
Mobil / nettbrett
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 10.3 |