 |

Un dégradé de couleurs sur du texte |
|

|
 |
|
 |
Le but de ce script est de réaliser un dégradé de couleurs sur un
texte sans avoir à le faire à la main. |
 |
 |
 |
|
 |
On calcule la longueur du texte à dégrader, on analyse la longueur du
dégradé demandé pour chaque couleur de base (Rouge, Vert et Bleu) puis on écrit le texte,
lettre par lettre, en attribuant à chacune la couleur qui lui convient dans le dégradé.
Ce script est adapté de http://it.is.free.fr - Titre sous fond dégradé |
 |
 |
 |
|
 |
dans la partie <head>
 |
 |
 |
 |
<script language="JavaScript">
// fonction de conversion en hexadécimal
var hexa = "0123465789ABCDEF";
function convert_hexa(nb) {
return hexa.charAt(Math.floor(nb/16)) + hexa.charAt(nb%16);
}
// r1,g1,b1 représentent les couleurs de départ (en RGB)
// r2,g2,b2 représentent les couleurs de fin (en RGB)
// texte représente la chaîne à afficher
// size est la taille du dégradé (nombre de lettres au final (avec ajouts d'espace si nécessaire))
// (si < taille du texte, on prend cette dernière)
function degrade(r1,g1,b1,r2,g2,b2,texte,size) {
var nb = texte.length;
var s = nb;
var dt = 1;
if ( size > s ) {
dt = Math.round( ( size - 2 ) / ( nb - 1 ) );
s = dt * ( nb - 1 );
}
dr = ( r2 - r1 ) / s;
dg = ( g2 - g1 ) / s;
db = ( b2 - b1 ) / s;
for ( var i = 0; i <= s; i++ ) {
var t = " ";
var index = i / dt;
if ( index == Math.round(index) ) {
t = texte.charAt(index);
}
// Ecriture de chaque lettre, une par une avec sa propre couleur
document.write('<font color="#' + convert_hexa(r1 + i * dr) + convert_hexa(g1 + i * dg) + convert_hexa(b1 + i * db) + '">' + t + '</font>');
}
}
</script>
|
|
 |
 |
 |
 |
dans la partie <body>
 |
 |
 |
 |
<script language="JavaScript">degrade(0,127,0,255,0,0,"Bonjour et bienvenue",0);</script><br>
<span style="font-size: 28px; font-weight: bold;"><script language="JavaScript">degrade(255,0,0,0,127,255,"Comment allez-vous aujourd'hui",0);</script></span>
|
|
 |
 |
 |
 |
|
 |
 |
 |
|
 |
|