Как я могу предоставить динамические стили CSS или пользовательскую тему для веб-сайта?

Есть много способов обеспечить динамический стиль / тему для веб-сайта, но я ищу некоторую помощь по некоторым лучшим практикам или методам, которые хорошо зарекомендовали себя для других.

Я создаю веб-сайт, который должен предоставить клиентам возможность создавать или указывать свои собственные цвета, стиль, тему или макет. Я еще не уверен, насколько мне нужна гибкость, но в основном мне нужно предоставить возможности для брендинга.

Я буду использовать ASP.NET, и я открыт для любых идей, которые будут соответствовать структуре ASP.NET.

4 ответа

Использование тем для ASP.NET 2 и выше предоставит вам все необходимое для этого.

Я бы лично выбрал решение на основе CSS.

Вы можете определить идентификаторы элементов и классы CSS для каждой страницы в веб-приложении, чтобы клиенты могли предоставить свой собственный набор файлов CSS.

Этот подход не зависит от платформы, поэтому разработчик, создающий пользовательские темы, не обязан встраиваться в модель тем ASP.NET - он также может быть веб-дизайнером, не обладающим знаниями в области программирования.

Лучший способ справиться с этим - создать красивый CSS-документ, в котором будут указаны все области, которые вы хотите предложить для настройки, такие как фоновое изображение заголовка, цвета фона и текста и т. Д. Затем создайте код приложения, чтобы можно было указать, какая тема загрузить и вызвать этот файл CSS.

Темы могут быть хорошим решением, но, перечитав свой вопрос, я думаю, вы могли бы попросить метод, позволяющий клиентам динамически представлять свой собственный бренд, то есть без необходимости изменять какие-либо файлы, практический подход? Как насчет административного интерфейса, состоящего из веб-форм, где клиент может загружать изображения и сами CSS? Затем вы можете получить этот контент, используя HttpHandler или аналогичный.

Другие вопросы по тегам