До сих пор (в Chrome и Firefox) значения цветов всегда возвращались в формате rgb или rgba, который легко анализировать:
Код: Выделить всё
const [, r, g, b, a] = str.replace(/\s/g, "").match(/rgba?\((\d+(?:\.\d+)?),(\d+(?:\.\d+)?),(\d+(?:\.\d+)?)(?:,(\d+(?:\.\d+)?))?\)/i);
Есть ли гарантия цветового формата getComputedStyle? Или это полностью зависит от реализации браузера?
Я бы предпочел не проверять значения HEX и HSLA (и вообще все остальное, что возможно – я не совершенно уверен).
Краткий фрагмент кода для проверки значений цвета в консоли:
Код: Выделить всё
console.log((str => {
const div = document.createElement("div");
div.style.backgroundColor = str;
document.body.append(div);
return getComputedStyle(div).backgroundColor;
})("magenta"));
Подробнее здесь: https://stackoverflow.com/questions/670 ... putedstyle