@illiatovpeko
Самолепный ВебдевелопЁр

Как правильно комбинировать псевдоэелемент ::before (и ::after) с :nth-child?

Вот фрагмент стиля (SCSS). Интересует ТРЕТИЙ элемент. Те, что идут дальше, в последствие будут преобразованы по примеру третьего.
СУТЬ: мне нужно добавить значок ДО и ПОСЛЕ плэйсхолдера. ДО будет всегда, а ПОСЛЕ - отметка о том, правильно ли заполнен инпут (появится после заполнения).
ПРОБЛЕМА: указанный код не выводит изображение, вот и пытаюсь выяснить почему.
Ну и раз уж пошла тема, на всякий случай, если есть время, подскажите механизм реализации задуманного, ну или вообще озвучьте любые попутные комментарии.

input{
    width: 100%;
    margin-bottom: 0.8rem;
    height: 2.1rem;
    background-repeat: no-repeat;
        &[required]{
            background-color: #f2f2f2;
        }
        &[placeholder]{
            padding-left: 38px;
        }
        &:nth-child(3)[placeholder]{
            &::before{
                content:url(img/phone.png);
            }
        }
        &:nth-child(4){
            background-image: url('img/email.png');
            background-position: left;
        }
        &:nth-child(5){
            background-image: url('img/building.png');
            background-position: left;
        }
}
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега CSS
У инпутов нет псевдоэлементов, нужно использовать обёртку и стилизовать её через классы.
Ответ написан
Ваш ответ на вопрос

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

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