@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"?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 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
Нет, нельзя.
Вам остаётся только поправить или настроить скрипт валидации.
Ответ написан
Ваш ответ на вопрос

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

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