&__error{
display: none;
}
.active {
display: block;
}
}
Как на выходе получить класс используемый как ниже?
.form__label form__label__error [скрыт]
.form__label form__label__error active [отображён]
Просто просто если я сделаю через &—active то получится потянка в виде
.form__label form__label__error form__label__error--active
И нужно будет удалять label__error, потом добавлять error—active и так в обратном порядке, мне кажется "архитектурно" не правильно.
а зачем тебе такие огромные классы вообще?
Сложно сказать, form__label_error служит селектором для JS'a А актив отвечает за состояние, а как можно оптимизировать длину класса чтобы error оставался меткой и дополнительно можно было повесить active/showed для отображения?
я веду к тому, что ты пишешь класс, который выглядит как бэмовский, но таковым не является в бэме не может быть ситуации, когда после элемента указан другой элемент (.form_ _label_ _error) когда ты упростишь структуру, описывать стили станет проще
Структуру писал не я, я получил полу-доделанный проект и мне нужно добавить лейбл-метку для вывода ошибки. По-умолчанию error есть на странице - пуст и скрыт. При добавлении некоего класса элемент становится видимым. То что выделено красным - добавил я.
если не менять структуру, то самый простой и надёжный вариант - написать без &
Обсуждают сегодня