:focus-within
Селектор псевдо в CSS немного необычно, хотя хорошо назван и довольно интуитивно. Он выбирает элемент, если этот элемент содержит дочерние элементы, у которых есть :focus
.
form:focus-within ( background: lightyellow; )
Что работает так…
Я сказал «необычно», потому что в CSS не принято выбирать родительский элемент на основе существования или состояния дочерних элементов. Конечно, это полезно!
Вот пример формы:
См. Простую адаптивную форму Pen с помощью: focus-within от Криса Койера (@chriscoyier) на CodePen.
Обратите внимание, что в этом примере используется :focus-within
вся форма и внутренняя упаковка ввода.
с.
Любой способ, которым дочерний элемент может стать сфокусированным, вызовет: focus-within. Например, если у элемента есть атрибут tab-index
или contenteditable
, то это элемент, на который можно сфокусироваться, и он будет работать. Также не имеет значения, как элемент стал сфокусированным. На него можно было щелкнуть или коснуться, на него можно было перейти с помощью вкладок или перейти к нему другими способами, или даже сфокусироваться с помощью JavaScript, например ...
document.querySelector("input").focus();
Поддержка браузера
Эти данные о поддержке браузером взяты из Caniuse, где есть более подробная информация. Число означает, что браузер поддерживает эту функцию в этой версии и выше.
Рабочий стол
Хром | Fire Fox | IE | Край | Сафари |
---|---|---|---|---|
60 | 52 | Нет | 79 | 10.1 |
Мобильный / планшет
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 год | 10,3 |