2013-03-26 10 views
10

Używam CSS3 i RGBA stworzyć biało-do-przezroczysty gradient:CSS3 Biały do ​​przezroczystych gradientów

div { 
    background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)); 
    background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)); 
    background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(255, 255, 255, 1)), to(rgba(0, 0, 0, 0))); 
    background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)); 
    background-image: -o-linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)); 
    background-image: linear-gradient(left, rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)); 
    background-repeat: repeat-x; 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(255, 255, 255, 1)', endColorstr='rgba(0, 0, 0, 0)', GradientType=1); 
    padding: 2rem 0; 
} 

Fiddle tutaj: http://jsfiddle.net/alecrust/fYz45/

Jednak jak można zauważyć, jest gradient ciemno w środku. Dostaję to:

Getting

A ja spodziewałem się następująco:

Expecting

Jak mogę naprawić?

Odpowiedz

3

Ostateczny kolor powinien być biały, przezroczysty, a nie czarny przezroczysty

zamiast

rgba(0, 0, 0, 0) 

koniec w

rgba (255, 255, 255, 0) 
0
div{ 
    background-color:#ffffff; 
    filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr=#ffffff,  endColorstr=#ffff01); 
    background-image:-moz-linear-gradient(left top, #ffffff 0%, #ffff01 100%); 
    background-image:-webkit-linear-gradient(left top, #ffffff 0%, #ffff01 100%); 
    background-image:-ms-linear-gradient(left top, #ffffff 0%, #ffff01 100%); 
    background-image:linear-gradient(left top, #ffffff 0%, #ffff01 100%); 
    background-image:-o-linear-gradient(left top, #ffffff 0%, #ffff01 100%); 
    background-image:-webkit-gradient(linear, left top, right bottom, color-stop(0%,#ffffff),  color-stop(100%,#ffff01)); 
} 
1

Jeśli ktoś czy kłopoty z gradientów lub uzyskanie pewnej proporcji (kątowniki, przejrzystość, itp) Polecam wypróbowanie tego narzędzia, aby dowiedzieć się więcej: http://www.colorzilla.com/gradient-editor/ Poniższy kod jest przykładem tego, co może zrobić. Przezroczystość kontrolowana jest przez górne kwadraty, kolor na dolnej. To pozwala na dalsze upuszczanie większej ilości kolorów. Ma również dobrą porównywalność wsteczną, a także niektóre z ustawieniami wstępnymi.

`div { 
 
background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* FF3.6-15 */ 
 
background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* Chrome10-25,Safari5.1-6 */ 
 
background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,58,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ 
 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#00ffff3a',GradientType=1); /* IE6-9 */ 
 
background-repeat: repeat-x; 
 
padding: 2rem 0; 
 
}`

Powiązane problemy