Я не верю, что вы можете с чистой реализацией CSS, поскольку вам нужно будет определить ваши базовые пути для ваших изображений в переменной, которую вы устанавливаете с помощью некоторой логики (оператор switch, if / else if, ..etc.) а затем использовать эту переменную в CSS.
Вот несколько вариантов, о которых я подумал, чтобы сделать это. Если вы создаете псевдо-css-файл с вашей переменной, определенной как строка, которая не встречается в css (например: $ basePath), и создаете все ваши css-правила в этом поддельном css-файле как «$ basePath + image.jpg». Затем с помощью некоторого кода на стороне сервера извлеките файл css и создайте файлы шаблонов css, заменив $ basePath + фактическим базовым путем для этой темы. Код на стороне сервера затем сохранит эти CSS-файлы как theme1.css, theme2.css, ... и т. Д.
Затем вы можете использовать переменные url для переключения между темами, используя некоторый код на стороне сервера, чтобы вставить ссылку на правильный файл темы css.
Таким образом, вам нужно будет только сохранить псевдо-шаблон CSS-файла. Хотя вам нужно будет повторно запускать код создания CSS каждый раз, когда вы изменяете файл шаблона CSS, чтобы обновлять файлы CSS темы.