2010-12-19 9 views
26

WebKit wprowadził możliwość tworzenia gradientów CSS. Na przykład z następującym kodem:Czy można tworzyć gradienty, które zanikają do przezroczystości za pomocą CSS lub JavaScript?

-webkit-gradient(linear, left top, left bottom, from(#fff), to(#000)); 

Czy jednak można użyć gradientu przezroczystości za pomocą CSS? Chcę, aby gradient był pojedynczym kolorem z jednej strony, a zanikał do zera nieprzezroczystości z drugiej.

Kompatybilność z różnymi przeglądarkami nie jest ważna; Potrzebuję go do pracy w przeglądarce Google Chrome.

Czy jest jakiś sposób, aby to zrobić za pomocą CSS? Jeśli nie, czy można zrobić coś podobnego za pomocą JavaScript (nie jQuery)?

Dzięki za pomoc.

Odpowiedz

14

Tak

dla kolory, wykorzystanie rgba (x, y, z, O), w którym o jest krycie

powinien działać

np

background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), to(rgba(0, 0, 0, 0))); 

Edit: Dla wartości końcowej (krycie) 1 jest nieprzezroczysta & 0 jest przezroczysta

+1

Prawdopodobnie miałeś (255, 255, 255, 1) pierwsza wartość. –

+0

Tak, poprawiono, że kod – Jasper

+1

faktycznie nie działa, wydaje się brakować przecinków i nawiasów –

2

nie testowane, ale to powinno działać (w FF działa (z innej składni) - nie jestem pewien, czy Safari/WebKit wie rgba):

-webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,1)), to(rgba(0,0,0,0))); 
+0

Mogłem coś źle zinterpretować, ale dlaczego miałbyś oczekiwać, że własność z prefiksem sprzedawca '-webkit' będzie działała w Firefoksie? ('-webkit' dotyczy Chrome i Safari oraz jednego lub dwóch innych;' -moz' jest dla przeglądarki Firefox; '-o' to Opera;' -ms' to, najwyraźniej, IE ...) –

+0

dzięki za podpowiedź , Edytowałem to ... po prostu zapomniałem napisać jakiś tekst (to się dzieje, gdy pijesz alkohol podczas skazy na stackoverflow w niedzielę wieczorem -.- '). – oezi

15

Tak, rgba(red, green, blue, alpha), co należy użyć http://www.w3.org/TR/css3-color/#rgba-color, przykład (Wypróbuj go na):

/* Webkit */ 
background: -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(1, rgba(0,0,0,0.0)), /* Top */ 
    color-stop(0, rgba(0,0,0,1.0)) /* Bottom */ 
); 

/* Gecko */ 
background: -moz-linear-gradient(
    center bottom, 
    rgba(0,0,0,1.0) 0%, /* Bottom */ 
    rgba(0,0,0,0.0) 100% /* Top */ 
); 
+0

Dzięki za urocze skrzypce! – KajMagnus

+0

Witam, Czy masz rozwiązanie, które działa również w IE? – Parham

+0

Utwórz gradient svg i base64 koduj go 'background-image: url ('dane: image/svg + xml; base64, PD94bWwgdmVyPC9saW5l ... 3N2Zz4g');' – antonj

Powiązane problemy