@Persotr27

Как задать css селекктор родителя для input:focus?

Такая ситуация. Есть div, а в нём input. Как сделать так, что бы при фокусе на inputе, менялся стиль дива (родительского). Что-то говорят, без JS это пока невозможно, еще нашел вариант с :has() но не оч понял как оно работает. Вообщем, буду благодарен за помощь.
И как на JS сделать тогда?)
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
SmthTo
@SmthTo Куратор тега CSS
Все перепёлки мира будут оплакивать мою смерть.
Вам очень повезло, ибо в данном случае в CSS есть псевдокласс :focus-within. Он позволяет стилизовать предка, внутри которого поле в фокусе (спасибо Xdevelx за поправку терминологии, см. комментарии). Поддержка нормальная у него:
https://caniuse.com/#search=%3Afocus-within


Во всех остальных случаях пока что CSS не может идти выше по коду. Если нужно универсальное решение с поддержкой IE и старых EDGE — только JS.

:has — только в черновиках, ни в одном браузере его поддержки нет:
https://caniuse.com/#search=%3Ahas
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы