В Twitter пользователи могут выбрать собственный цвет, который затем будет использоваться во всем их профиле. Как я могу реализовать аналогичную функциональность с помощью HTML, (S) CSS и Angular 5?
Как есть, делаю, например:
<h1 style = "color: {{user.color}};">
{{ user.name }}
</h1>
Это работает, однако проблемы следующие:
styleОбычно я добиваюсь этого с помощью SCSS, используя функции lighten() и darken(). Однако я, очевидно, не могу этого сделать при получении цвета пользователя во время выполнения из базы данных и с использованием атрибута style.
Как бы вы подобрали индивидуальные цвета профиля для своих пользователей? Вы бы также использовали атрибут стиля или есть альтернатива (с использованием Angular). Как бы вы добились вариаций цвета пользователя?
Можно ли этого добиться с помощью CSS-переменных var()?
Одно из возможных решений - создать цветовые профили, которые жестко кодируют эти оттенки и оттенки в массив для легкого доступа к вашим шаблонам.
Взгляните на CSS var() (переменные CSS)
@SuperDJ Как бы мне установить цвет?






Вы можете заставить пользователей выбрать цвет HEX и преобразовать его HSL. Затем примените стиль с помощью директива ngStyle. Пример:
<some-element [ngStyle] = "{'background-color': 'hsl(120, 100%, 50%)'}">...</some-element>
Затем вы можете настроить яркость цвета фона hsl (третий параметр).
Спасибо, отличная идея! Я использовал код преобразования из stackoverflow.com/questions/3732046/…
возможно директива ngClass