2011-12-05 17 views
11

Mi sono guardato un po 'in giro e non riesco a trovare nulla a riguardo.gradiente di testo css

Se ho un paragrafo di testo, c'è un modo, forse con CSS3 di modificare gradualmente il colore del testo mentre scende alla pagina? invece del modo in cui il gradiente lo fa, perché questo lo fa solo sulla parola e non sull'intero paragrafo del testo.

Quindi voglio che il testo inizi a essere bianco e poi sbiadisca in nero quando arriva alla fine del paragrafo.

Non sono davvero sicuro che possa essere fatto ... Forse c'è uno script java che può farlo.

Grazie.

risposta

9

è possibile farlo usando i CSS ma funzionerà solo nel browser WebKit (Chrome e Safari): http://jsfiddle.net/joshnh/DphXz/

+1

Questo è sorprendente .... Ma un tale peccato è solo i browser Webkit .... Mi chiedo se c'è qualche problema per IE e Firefox !? grazie per quello – ragebunny

+0

Eventualmente altri browser inizieranno ad implementare queste funzionalità, ma fino ad allora purtroppo è solo il webkit. – joshnh

1

sono stato in grado di fare qualcosa di simile in puro CSS, però, non funziona in IE, dal momento che non supporta proprietà mix-mix-mode css: http://caniuse.com/#feat=css-mixblendmode

Il codice lo snippet è sotto. Spero che aiuti qualcuno.

<html> 
<head> 
<style> 
.gradient { 
    position: relative; 
    content: ''; 
    display: block; 
    width: 260px; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0); 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(140,198,63,1)), color-stop(100%, rgba(30,71,146,1))); 
    background: -webkit-linear-gradient(left, rgba(140,198,63,1) 0%, rgba(30,71,146,1) 100%); 
    background: -moz-linear-gradient(right, rgba(140,198,63,1) 0%, rgba(30,71,146,1) 100%); 
    background:  -ms-linear-gradient(right, rgba(140,198,63,1) 0%, rgba(30,71,146,1) 100%); 
    background:  -o-linear-gradient(right, rgba(140,198,63,1) 0%, rgba(30,71,146,1) 100%); 
    background:   linear-gradient(to right, rgba(140,198,63,1) 0%, rgba(30,71,146,1) 100%); 
} 
.gradient p { 
    color: #000; 
    background: #fff; 
    mix-blend-mode: lighten; 
} 
</style> 
</head> 
<body> 
    <div class="gradient"> 
     <p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p> 
    </div> 
</body> 
</html>