Решение будет хорошо смотреться на ярких сайтах, например, детской тематики.

Цвет задается через цветовую модель HSLA (Hue Saturation Lightness Alpha), где:

  • Hue (оттенок) — цвет в градусах (0 – 360)
  • Saturation (насыщенность) — интенсивность цвета (0% — серый, 100% — чистый цвет)
  • Lightness (яркость) — уровень освещённости (0% — чёрный, 100% — белый)
  • Alpha (альфа-канал) - непрозрачность цвета (0 - полностью прозрачный, 1 - совсем не прозрачный)

Используя данную модель, можно легко задать случайный цвет числом от 0 до 360

Случайный цвет текста:

В данном примере случайный цвет задается для каждого элемента с классом randomColor

HTML:

JavaScript:

Случайный цвет фона:

В этом примере все тоже самое, только стиль устанавливаем для фона.

HTML:

JavaScript:

Случайный цвет текста и фона:

В этом примере объединим первые два варианта, но фон сделаем светлее, а цвет текста темнее.

Текст
Текст
Текст
Текст

HTML:

JavaScript:

Заключение:

  • Обновив страницу, все цвета, соответственно, примут другие значения.
  • Случайный цвет не обязательно должен быть по всему цветовому кругу, от красного (0) до красного (360), а например, только в синих оттенках. Для этого нужно будет изменить переменные colorMax и colorMin в соответствии с градусами цвета. Эти значения можно посмотреть в генераторе оттенков.
  • Также, как и цвет, можно установить случайные значения для яркости и насыщенности.
  • Прозрачность во всех примерах отсутствует (значение 1), но добавлена на случай, если будет нужна.

Смотрите также:

Вариант оформления заголовка с исчезающими и появляющимися буквами

Имитация закругленных углов, как у css-свойства border-radius, но с отрицательным радиусом

Оригинальный зффект скремблирования текста на JavaScript

Добавить комментарий:

Ваш комментарий отправлен!