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

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

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

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


person user7658    schedule 17.09.2008    source источник


Ответы (4)


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

person Stephen Wrighton    schedule 17.09.2008

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

person Community    schedule 17.09.2008

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

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

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

person Dario Solera    schedule 17.09.2008
comment
Всегда используйте файлы .css для удобства сопровождения. Посмотрите Подтекст. Создайте свою собственную папку темы и файлы .css и продолжайте. - person PositiveGuy; 24.04.2009

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

person Tom Robinson    schedule 17.09.2008