То, что вы хотите сделать, это сделать, имея на сервере несколько тем (theme1.css, theme2.css, theme3.css и т. Д.) И позволяя пользователю выбрать понравившуюся тему. Затем вы можете сохранить в базе данных с профилем пользователя тему, которую выбрал пользователь (theme2.css). Когда пользователь затем отображает свою страницу, вы включаете в верхней части страницы theme2.css вместо темы default.css.
Это будет хорошо работать с серверной технологией, такой как PHP или ASP.NET или с чем угодно. Конечно, вы могли бы потенциально использовать javascript для сохранения cookie на компьютере пользователя, чтобы запомнить его выбор, и снова использовать javascript для включения файла , который вы запомнили через cookie.
Если вы хотите, чтобы пользователь мог точно управлять тем, что относится к конкретным элементам дизайна (таким как цвет заголовка, шрифт и т. Д.), Вы могли бы снова, используя технологию на стороне сервера (лучше в этом случае по моему мнению) или javascript сохраните такие вещи, как header = blue, font = Arial и используя jQuery примените то, что было сохранено к вашей странице.
Надеюсь, это даст вам обзор.