// Alimentando a Tabela para testes
var cores = ['#FFFFFF', '#FF0000', '#33ff33', '#0000FF', '#FF00FF', '#00FFFF', '#000000', '#FFFF00', '#FFFFFF', '#FFCCCC', '#FFCC99', '#FFFFCC', '#CCCCCC', '#C0C0C0', '#999999', '#666666', '#333333',
'#000000', '#99FF99', '#66FF99', '#33ff33', '#00CC00', '#009900', '#006600', '#003300', '#FF6666', '#FF0000', '#CC0000', '#990000', '#660000', '#330000', '#CCFFFF', '#66FFFF', '#33CCFF',
'#3366FF', '#3333FF', '#000099', '#000066', '#FFCC33', '#FF9900', '#FF6600', '#CC6600', '#993300', '#663300', '#FFCCFF', '#FF99FF', '#CC66CC', '#CC33CC', '#993366', '#663366', '#330033',
'#FFFF99', '#70DB93', '#238E23', '#93DB70', '#00FF7F', '#2F4F2F', '#4A766E', '#4F4F2F', '#32CD32', '#527F76', '#215E21', '#9F9F5F', '#32CD99', '#6B8E23', '#426F42', '#7FFF00', '#8FBC8F',
'#238E68', '#99CC32', '#5C3317', '#A62A2A', '#5C4033', '#97694F', '#855E42', '#D19275', '#8E2323', '#E9C2A6', '#A68064', '#EBC79E', '#6B4226', '#8E6B23', '#DB9370', '#5C4033', '#9F5F9F',
'#9932CD', '#871F78', '#856363', '#4E2F2F', '#8E236B', '#4F2F4F', '#9370DB', '#DB7093', '#FF6EC7', '#DB70DB', '#BC8F8F', '#EAADEA', '#FF1CAE', '#CC3299', '#6F4242', '#B5A642', '#D9D919',
'#8C7853', '#A67D3D', '#D98719', '#B87333', '#FF7F00', '#CD7F32', '#DBDB70', '#E47833', '#EAEAAE', '#CFB53B', '#FF7F00', '#FF2400', '#8C1717', '#D8D8BF', '#5F9F9F', '#42426F', '#6B238E',
'#7093DB', '#C0D9D9', '#8F8FBD', '#3232CD', '#7F00FF', '#70DBDB', '#2F2F4F', '#23238E', '#4D4DFF', '#00009C', '#5959AB', '#3299CC', '#007FFF', '#236B8E', '#38B0DE', '#D8BFD8', '#ADEAEA',
'#2F4F4F', '#545454', '#C0C0C0', '#A8A8A8', '#D9D9F3', '#E6E8FA', '#CDCDCD'
];
var table = '';
for (i = 0; i < cores.length; i++) {
table += "<tr style='background-color:" + cores[i] + ";'><td> " + cores[i] + " </td></tr>";
}
table += "<tr><td>#FFFFFF </td></tr>";
$("#table").append(table);
// Plugin jQuery - Muda a Cor do texto baseado na cor de fundo.
$.fn.textColorSwitch = function() {
this.init = function() {
$.each(this.find('tr'), function(key, val) {
var colors = $(val).css('backgroundColor').match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
if (colors !== null) {
var cor = 'white';
var maxColor = (
Math.floor((colors[1]) * 1) +
Math.floor((colors[2]) * 1) +
Math.floor((colors[3]) * 1)
);
if (maxColor > 382) {
cor = 'black';
}
$(this).css('color', cor);
}
});
};
this.init();
return this;
};
// Chamando o Plugin
$("table").textColorSwitch();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table id="table"></table>
So you don’t want to reverse the colors?
– João Victor Gomes Moreira
"each line is a color, need that when you mouse over it, it is clearly read" this is not very open to opinion?
– DH.
If you were applying the rule to the elements, being more generic, it would be a problem. But since you have classes, why not use them?
.tr1 td:hover { filter: none }would not solve?– Renan Gomes
If you need to control the colors, the solution is probably to clarify the colors instead of using the
invert. Put the desired background and front color onhoverand it’s done. After all, it’s a cross-broswer solution that works since many versions behind the browsers.– Bacco