@steef08

Как задать обводку label-у при checked input-е?

Доброй всем ночи, суть проблемы — сайт на WordPress, стоит Elementor Pro, в одной секции созданы две колонки.
в левой колонке находятся label-ы c оформлением, в правой колонке находятся input-ы и картинка которая меняется в зависимости от нажатии на label-ы.
input-ы заданы следующим образом —
<div class='box_input'>
    <input type='radio' name='col' id='white'>
    <input type='radio' name='col' id='black'>
</div>

Label-ы заданы вот так
<div class="labelbox">
    <label class='black' for='black'></label>
    <label class='white' for='white'></label>
</div>

У Label два состояния:
1)
label.black:before {
    content:'';
    display: block;
    border-radius: 50%;
    border: 1px solid #0070c9;
    height: 39px;
    width: 39px;
    transform: translate(-5.3px, -10.3px);
    opacity: 0;
}

2) Когда input зачекан то он должен выглядеть вот так:
label.black:before {
    opacity: 1;
}

Код который бы отслеживал чекед на input-е и менял состояние label-а следующий:
input#black:checked + label:before {
    opacity: 1;
}

Но он не работает...
_____________________
И этот тоже
input#black:checked ~ label:before {
    opacity: 1;
}

И этот
input#black:checked + * label:before {
    opacity: 1;
}

И даже этот
input#black:checked ~ * label:before {
    opacity: 1;
}

Прощу помощи, что не так? Заранее большая благодарность и жирный + в карму
  • Вопрос задан
  • 300 просмотров
Решения вопроса 1
AntonLitvinenko
@AntonLitvinenko
HTML coder
Первое что в голову пришло. Возможно более элегантно сделать
https://jsfiddle.net/v78hn9pb/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae
Тлен
Мужик, учи селекторы, все эти плюсики и звёздочки имеют конкретное значение, это не какая-то магия.
Это всё будет работать только если label находится в том же самом контейнере что и input и строго после (ниже) него. Иначе - только скрипты.
Ответ написан
Ваш ответ на вопрос

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

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