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

Как обратится к предыдущему элементу css?

Есть такой элемент:
<label>
    <input type="email" placeholder=" " name="email">
   <p>Email</p>
</label>

И когда срабатывает валидация добавляется снизу:
<span class="field-error">error.required</span>

Вот так получается:
<label>
    <input type="email" placeholder=" " name="email">
   <p>Email</p>
</label>
<span class="field-error">error.required</span>


Можно как-то добавлять к примеру красный бордер к label, если под ним есть "field-error"?
  • Вопрос задан
  • 331 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
develx
@develx Куратор тега CSS
Web developer
label:has(+ .field-error) {
  border: 2px solid red;
}


https://codepen.io/xdevelx/pen/wvXmqvz

Но нужно смотреть поддержку браузеров https://caniuse.com/css-has
Если не устроит, то js
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Нет, нельзя.
Вам остаётся только поправить или настроить скрипт валидации.
Ответ написан
Ваш ответ на вопрос

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

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