Что если вы полностью удалите logi c из таблицы стилей и вместо этого положитесь на значение свойства c dynamici из вашего JavaScript?
Например:
body {
--pickererror: 0; // Default value for the "order" property
}
Если ваш JavaScript обнаруживает ошибку, --pickererror
присваивается значение 1 !important
;
if (error) {
document.querySelector('body').style.setProperty('--pickererror', '1', 'important');
}
И в вашей таблице стилей вам нужно только одно правило, которое изменяет порядок, если JavaScript говорит так.
.picker-toolbar {
order: var(--pickererror, 0); // Defaults to "0" also if the variable doesn't exist
}
Я понимаю, что это имеет смысл, только если вы используете --pickererror
в основном как логическое значение (я подумал, поскольку вы проверяете, превышает ли его длина больше 0). Если вы на самом деле используете строковое значение, было бы лучше создать переменную --error-order
для этой единственной цели, я думаю.