2011-12-05 16 views
11

Miałem trochę się rozejrzeć i nie mogę znaleźć nic na ten temat.gradient tekstu css

Jeśli mam akapit tekstu, czy jest jakiś sposób, może przy pomocy CSS3, aby stopniowo zmieniać kolor tekstu w miarę przechodzenia do strony? zamiast tego, jak robi to gradient, ponieważ robi to tylko na słowie, a nie na całym akapicie tekstu.

Więc chcę, aby tekst zaczął się biały, a następnie znikną w kolorze czarnym, jak dociera do końca akapitu.

Naprawdę nie jestem pewien, czy można to zrobić ... Może istnieje skrypt Java, który może to zrobić.

Dzięki.

Odpowiedz

9

Można to zrobić za pomocą CSS, ale to będzie działać tylko w przeglądarkach Webkit (Chrome i Safari): http://jsfiddle.net/joshnh/DphXz/

+1

To niesamowite ... Ale taka szkoda to jego jedyne przeglądarki webkit .... Zastanawiam się, czy jest jakaś praca dla IE i Firefoxa !? Dziękuję za to. – ragebunny

+0

Mam nadzieję, że inne przeglądarki zaczną implementować te funkcje, ale do tego czasu jest to niestety tylko webkit. – joshnh

1

udało mi się zrobić coś podobnego w czystym CSS, jednak nie działa w IE, ponieważ nie obsługuje właściwość mix-blend-mode CSS: http://caniuse.com/#feat=css-mixblendmode

Kod fragment jest poniżej. Mam nadzieję, że to komuś pomaga.

<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>