Веб-приложение .NET Изменить цвет / тему Дневной / ночной режим в настройках пользователя? - PullRequest
0 голосов
/ 13 мая 2018

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

Я хотел бы позволить пользователю перейти к своим настройкам, чтобы изменить свою тему пользовательского интерфейса с дневного режима наночной режим (и, может быть, пара других тем, если мы решим).По сути, все, что нужно сделать, это изменить цвета, используемые приложениями.

Чтобы добиться этого, я хотел бы реализовать некоторые переменные цвета, такие как «primaryColor», «primaryColor», «errorColor»,и т.д. ... Это позволило бы нам, как разработчикам, создавать новые темы.Весь CSS в приложении в теории должен ссылаться на эти переменные.

Вопрос: как мне добавить поддержку изменения темы / цвета для внешнего интерфейса моего приложения?Какие у меня варианты?

Потенциальные решения, которые я изучал: CSS, Materialise, Bootstrap, SASS, LESS.

CSS: Мой первыйМы надеялись, что CSS поддерживает простые переменные для таких вещей, как цвета, которые можно изменить во время выполнения, и, возможно, я просто не знал о них.Кажется, это не возможно?

Материализация: мне очень нравится дизайн.Они даже поддерживают SASS.Но я не могу найти способ разрешить пользователям менять свою тему.Также кажется, что это значительно замедлит работу сайта, так как он должен быть предварительно скомпилирован на сервере?Кроме того, если нет способа изменить переменные во время выполнения, почему бы просто не выполнить поиск и замену в исходном файле?Это позволило бы нам делать такие вещи, как указание основного цвета, однако

Bootstrap: я не так сильно люблю стили начальной загрузки (кроме цветов), как Materialize, но, похоже,они поддерживают Bootswatch для определенных тем Bootstrap?Но кажется, что это было бы намного сложнее, чем редактирование основного и дополнительного цветов, поскольку мы хотели бы реализовать наши собственные цвета.

SASS / LESS: Materialise + SASS.Если нет, то, возможно, мы могли бы использовать sass / less для ручного создания собственного?

edit: я также изучал Angular Material, но, похоже, не хватает документации для того, как его добавить.в приложение .net

...