:focus-within
Selectorul pseudo în CSS este un pic neobișnuită, deși bine-numit și destul de intuitiv. Selectează un element dacă acel element conține copii care au :focus
.
form:focus-within ( background: lightyellow; )
Care funcționează așa ...
Am spus „neobișnuit” deoarece nu este obișnuit în CSS să poți selecta un element părinte pe baza existenței sau stării elementelor copil. Sigur este totuși util!
Iată un exemplu de formular pentru a-l încerca:
Vedeți Formularul de răspuns simplu Pen cu: focus-within de Chris Coyier (@chriscoyier) pe CodePen.
Rețineți că exemplul se folosește :focus-within
pe întregul formular și pe ambalajele de intrare interioare
s.
Orice modalitate prin care un element copil poate deveni focalizat va declanșa: focus-inside. De exemplu, dacă un element are un atribut tab-index
sau contenteditable
, atunci acesta este un element care poate fi focalizat și va funcționa. De asemenea, nu contează modul în care elementul a devenit concentrat. Ar putea fi apăsat sau atins, ar fi putut fi tabulat sau navigat prin alte mijloace sau chiar focalizat prin JavaScript, cum ar fi ...
document.querySelector("input").focus();
Suport pentru browser
Aceste date de asistență pentru browser provin de la Caniuse, care are mai multe detalii. Un număr indică faptul că browserul acceptă funcția în versiunea respectivă și în sus.
Desktop
Crom | Firefox | IE | Margine | Safari |
---|---|---|---|---|
60 | 52 | Nu | 79 | 10.1 |
Mobil / Tabletă
Android Chrome | Android Firefox | Android | Safari iOS |
---|---|---|---|
88 | 85 | 81 | 10.3 |