Heim  >  Artikel  >  Web-Frontend  >  In HTML die Textfarbe basierend auf der Helligkeit des abgedeckten Hintergrundbereichs ändern?

In HTML die Textfarbe basierend auf der Helligkeit des abgedeckten Hintergrundbereichs ändern?

PHPz
PHPznach vorne
2023-08-28 13:29:02643Durchsuche

In HTML die Textfarbe basierend auf der Helligkeit des abgedeckten Hintergrundbereichs ändern?

Mit dem folgenden Codeausschnitt können Sie die Textfarbe basierend auf der durchschnittlichen Helligkeit der Pixel ändern, die von der übergeordneten Hintergrundfarbe überlagert werden.

var rgb = [255, 0, 0];
setInterval(display, 1000);
function display() {
   rgb[0] = Math.round(Math.random() * 255);
   rgb[1] = Math.round(Math.random() * 255);
   rgb[2] = Math.round(Math.random() * 255);
   
   var d = Math.round(((parseInt(rgb[0]) * 299) + (parseInt(rgb[1]) * 587) +
      (parseInt(rgb[2]) * 114)) / 1000);
   // for foregound
   var f = (d> 125) ? 'black' : 'white';
   
  // for background
  var b = 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')';
  $('#box').css('color', f);
  $('#box').css('background-color', b);
}
<scriptsrc = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id = "box"> Demo</div>

Hier ist das CSS -

#box {
   width: 300px;
  height: 300px;
}

Das obige ist der detaillierte Inhalt vonIn HTML die Textfarbe basierend auf der Helligkeit des abgedeckten Hintergrundbereichs ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen