lavezzi1
@lavezzi1

Как по :checked добавить класс родителю?

Привет. Есть такая конструкция:

<label class="radio">
        <div>
            <input type="radio">
            <span class="radio-border"></span>
            <span class="radio-inner-dot"></span>
        </div>
    </label>


Спаны красятся без проблем
&:checked {
        & ~ .radio-border {
            border: none;
            background-color: $green;
        }

        & ~ .radio-inner-dot {
            background-color: white;
            transform: scale(0.5);
            opacity: 1;
            z-index: 0;
        }


Но мне нужно изменить родителя, то есть в моем случае это Label. Как это сделать?

Так не работает
&:checked {
        & ~ .radio {
            background-color: $green;
        }
  • Вопрос задан
  • 462 просмотра
Решения вопроса 1
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
поставь label под input и прописывай ему стили через :checked+label {}
<input type="radio">
<label class="radio"></label>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
li:has(> a.active)
в гугле есть такой пример, стили применяются к li
Ответ написан
@fetis26
Ну, за фронтенд!
В настоящий момент никак. Родительского селектора нет, :has() пока не работает нигде.
Ответ написан
Комментировать
@karminski
Senior PHP /React.js developer
Только на JS
Ответ написан
Комментировать
@GreatRash
И вообще нельзя вставлять <div> внутрь <label>.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы