Инвертировать цвет в CSS можно с помощью правила invert. В параметр добавляются значения от 0 до 100 процентов от степени желаемого инвертирования:
.txt { filter: invert(0%); } .txt:hover { filter: invert(100%); }
С помощью этого правила Вы можете инвертировать всё что находится на странице, даже и всю страницу, или же отдельные элементы на сайте.
Ниже приведён код случайно сгенерированного цвета для фона, затем его инверсия для цвета текста.
bg_color = Math.floor(Math.random() * Math.pow(256, 3)).toString(16); while(color.length < 6) { bg_color = "0" + bg_color; } text_color = (parseInt(bg_color, 16) ^ 0xFFFFFF | 0x1000000).toString(16).substring(1);