Задать вопрос
@tgarl

Как заменить псевдокласс has?

Есть верстка где используется псевдокласс :has()
label:has(input:checked)::before

Как можно такую конструкцию заменить? Просто не все версии браузеров поддерживают. Так например на windows7 только хром поддерживает такой стиль.
Если бы убрать :before, то можно было бы использовать
label>input:checked
но что имею. Обновление винды это конечно хорошо, но хочется решения без этого рассуждения что и кому обновлять.
Если это невозможно заменить, то просьба так и сказать, чтобы у меня был аргумент что верстку нужно переделывать.
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Через чистый CSS никак не заменить. Только если вешать JS обработчик на input и менять класс label.
Если бы убрать :before, то можно было бы использовать
Нельзя. Селектор с :has у вас относится к label, а без него - к input.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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