Since CSS3’s gradient backgrounds are fairly new the functionality in all browsers is different.
Here is a sample of how you can achieve cross-browser functionality:

    background-color: #2B2B2B;
    background-image: mix(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0), 50%);
    filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr="rgba(255, 255, 255, 0.5)", EndColorStr="rgba(255, 255, 255, 0)")";
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    background-image: -ms-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    background-image: -o-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));


In the example above I used the rgba function because I wanted to use transparency. You can use instead of rgba any html color code or just rgb simply.

This will work on most browser, except Internet Explorer.
If you want to make it work on IE too you will need CSS3 PIE.
Download it from here:

http://css3pie.com/download/

Place the content of the downloaded archive in a folder called pie.
Then add this to your CSS code:

-pie-background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) #2B2B2B;
behavior: url(/pie/PIE.htc);

This will work guaranteed on Internet Explorer 9.
So, here is the final cross-browser code for background gradients:

background-color: #2B2B2B;
background-image: mix(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0), 50%);
filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr="rgba(255, 255, 255, 0.5)", EndColorStr="rgba(255, 255, 255, 0)")";
background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
background-image: -ms-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
background-image: -o-linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
-pie-background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) #2B2B2B;
behavior: url(/pie/PIE.htc);