:focus-within
Селектор псевдо в CSS трохи незвично, хоча добре названий і досить інтуїтивно. Він вибирає елемент, якщо цей елемент містить будь-які нащадки :focus
.
form:focus-within ( background: lightyellow; )
Що працює так ...
Я сказав "незвично", оскільки в CSS не часто можна вибрати батьківський елемент на основі існування або стану дочірніх елементів. Звичайно, це корисно!
Ось приклад форми, щоб спробувати:
Дивіться просту адаптивну форму Pen with: focus-Within, Кріс Койєр (@chriscoyier) на CodePen.
Зверніть увагу, що приклад використовує :focus-within
всю форму та внутрішнє обгортання вводу
s.
Будь-який спосіб того, як дочірній елемент може стати зосередженим, спричинить: фокус всередині. Наприклад, якщо елемент має атрибут tab-index
або contenteditable
атрибут, то він є фокусуючим елементом і буде працювати. Також не має значення, як елемент став сфокусованим. На ньому можна було натиснути або натиснути, можна було перенести вкладки або перейти якимось іншим способом, або навіть сфокусувати через JavaScript, як…
document.querySelector("input").focus();
Підтримка браузера
Дані про підтримку веб-переглядача подані компанією Caniuse, яка містить більше деталей. Цифра вказує на те, що браузер підтримує цю функцію на цій версії та вище.
Робочий стіл
Chrome | Firefox | IE | Край | Сафарі |
---|---|---|---|---|
60 | 52 | Ні | 79 | 10.1 |
Мобільний / планшетний
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 10.3 |