@shynga

Как в CSS обратиться к элементу выше в DOM?

Добрый день!
Есть код.
<label class="account-info__type">
  <input name="radio" type="radio">
  <div>
    <span class="account-info__radio"></span>
    <p class="account-info__name">Person Account</p>
    <p class="account-info__des">A single type of use</p>
  </div>
  <img src="assets/vector/person.svg" alt="Person Account">
</label>


Как можно обратиться к label при клике на input?
То есть вот, так можно обратиться к элементу, который ниже в DOM
.account-info__type > input[type=radio]:checked + div > .account-info__radio {
    border: 5px solid #249AF3;
}


А можно ли обратиться в CSS к DOM элементу выше?
  • Вопрос задан
  • 1734 просмотра
Решения вопроса 2
@loonny
В CSS нет возможности обработать клик по элементу, начнем с того. И обратиться к родитель не получится, только от родителя к ребенку или к соседу
Ответ написан
Комментировать
@Lord_Dantes
А можно ли обратиться в CSS к DOM элементу выше?

Нет.

Можно посредством JS и jQuery
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
arsenty
@arsenty
Full Stack Designer
Ваша задача решается проще, и без js, если я правильно понял её суть:
<input id="input_id" name="radio" type="radio">
<label for="input_id" class="account-info__type">
  <div>
    <span class="account-info__radio"></span>
    <p class="account-info__name">Person Account</p>
    <p class="account-info__des">A single type of use</p>
  </div>
  <img src="assets/vector/person.svg" alt="Person Account">
</label>


input:checked + label {
    border: 5px solid #249AF3;
}
Ответ написан
Комментировать
@sidney31
Столкнулся с таким же вопросом, решил проблемы через флекс:
flex-direction: *-reverse;
И при надобности, используя justify-content можно вернуть объект в необходимую сторону.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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