Нет.
Обходной путь - переместить каждое свойство, которое изменяется, в пользовательское свойство .
Затем вы можете сделать что-то вроде:
p {
color: var(--body-colour);
}
И объедините его с:
/* default, light scheme */
body {
--body-colour: black;
}
@media (prefers-color-scheme: dark) {
body {
--body-colour: white;
}
}
body.light-mode {
--body-colour: black;
}
body.dark-mode {
--body-colour: black;
}
Тогда вашему JavaScript нужно просто добавить класс light-mode
или dark-mode
к элементу body, чтобы принудительно включить этот режим (переопределяя режим по умолчанию (если браузер нене поддерживает эту функцию, или если она установлена в светлый режим) или в версии для темного режима мультимедиа).