Пользовательские цвета профиля

В Twitter пользователи могут выбрать собственный цвет, который затем будет использоваться во всем их профиле. Как я могу реализовать аналогичную функциональность с помощью HTML, (S) CSS и Angular 5?

Как есть, делаю, например:

<h1 style = "color: {{user.color}};">
    {{ user.name }}
</h1>

Это работает, однако проблемы следующие:

  • Загромождает html-файлы множеством атрибутов style
  • Я хотел бы иметь возможность по-разному использовать цвет для разных медиа-запросов
  • Я хотел бы использовать разные оттенки цвета пользователя во всем его профиле

Обычно я добиваюсь этого с помощью SCSS, используя функции lighten() и darken(). Однако я, очевидно, не могу этого сделать при получении цвета пользователя во время выполнения из базы данных и с использованием атрибута style.

Как бы вы подобрали индивидуальные цвета профиля для своих пользователей? Вы бы также использовали атрибут стиля или есть альтернатива (с использованием Angular). Как бы вы добились вариаций цвета пользователя?

Можно ли этого добиться с помощью CSS-переменных var()?

возможно директива ngClass

Sachila Ranawaka 14.06.2018 19:33

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

eqwert 14.06.2018 19:37

Взгляните на CSS var() (переменные CSS)

SuperDJ 14.06.2018 21:28

@SuperDJ Как бы мне установить цвет?

Ben 14.06.2018 22:08
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
4
120
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете заставить пользователей выбрать цвет HEX и преобразовать его HSL. Затем примените стиль с помощью директива ngStyle. Пример:

<some-element [ngStyle] = "{'background-color': 'hsl(120, 100%, 50%)'}">...</some-element>

Затем вы можете настроить яркость цвета фона hsl (третий параметр).

Спасибо, отличная идея! Я использовал код преобразования из stackoverflow.com/questions/3732046/…

Ben 18.06.2018 21:07

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