Как изменить текст цвета в зависимости от фона?

Чтобы изменить текст цвета в зависимости от фона в JavaScript, необходимо выполнить следующие шаги:

1. Получить цвет фона элемента. Это можно сделать с помощью метода getComputedStyle(element).backgroundColor, где element – это элемент, фон которого вам интересен.

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

Например, если вы используете цвет фона в формате HEX (#RRGGBB), вы можете преобразовать его в RGB и определить коэффициент контрастности по следующей формуле:

   const backgroundColor = getComputedStyle(element).backgroundColor;
   const rgb = backgroundColor.match(/d+/g);
   const luminance = (0.299 * rgb[0] + 0.587 * rgb[1] + 0.114 * rgb[2]) / 255;
   const contrast = luminance > 0.5 ? 'dark' : 'light';

3. Изменить цвет текста в соответствии с определенным типом контрастности. Для этого можно использовать метод style.color.

   const text = document.getElementById('text');
   text.style.color = contrast === 'dark' ? 'white' : 'black';

Обратите внимание, что в приведенном примере предполагается, что у вас есть элемент с идентификатором text, в котором нужно изменить цвет текста. Вы можете заменить этот идентификатор на свой. Кроме того, код приведен на примере использования цвета фона в формате HEX. Если у вас используется другой формат цвета, вам может потребоваться провести соответствующие преобразования.