Maison >interface Web >tutoriel CSS >Comment pouvons-nous adapter dynamiquement la couleur du texte pour une visibilité optimale sur différents arrière-plans ?
Adaptation dynamique des couleurs du texte pour varier la luminosité de l'arrière-plan
Dans le domaine du développement Web, il est crucial d'assurer une visibilité optimale du texte sur différentes couleurs d'arrière-plan. Cette technique vise à changer la couleur d'un texte ou à le remplacer par des images/icônes prédéfinies en fonction de la luminosité moyenne de l'arrière-plan de son élément parent.
Ressources existantes :
Algorithme W3C avec démo JSFiddle :
// Random color changes for demonstration setInterval(setContrast, 1000); function setContrast() { // Generate random RGB values rgb = [Math.round(Math.random() * 255), Math.round(Math.random() * 255), Math.round(Math.random() * 255)]; // Calculate brightness using W3C formula brightness = Math.round(((rgb[0] * 299) + (rgb[1] * 587) + (rgb[2] * 114)) / 1000); // Determine text color based on brightness textColour = (brightness > 125) ? 'black' : 'white'; // Apply colors to a sample element $('#bg').css('color', textColour); $('#bg').css('background-color', 'rgb(' + rgb.join(',') + ')'); }
Dans cet exemple, la luminosité d'une couleur d'arrière-plan changeant de manière aléatoire est calculée et la la couleur du texte est ajustée dynamiquement pour offrir un contraste optimal.
Si aucun arrière-plan n'est défini pour l'élément parent, le script peut rechercher dans la hiérarchie des éléments pour trouver l'élément le plus proche avec un arrière-plan défini. Cela garantit que la visibilité du texte est maintenue de manière cohérente tout au long de la page.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!