I tried to implement rgba to see if I can get it work, unfortunately I had encountered these issues:
Apparently, I need to do some hacks for Firefox 2, Opera 9 and IE6+.
For Internet Explorer, I found that I can use Alpha Component which seems to a very little known by many developers.
"In many cases, color is expanded to include the Alpha component (#AARRGGBB) in the Internet Explorer 5.5 filters."
Alpha Component seems to be great for Internet Explorer to render any hex colors with any opacity.
Also, it came to my mind that I can use gradient filter for any block elements with hasLayout and all I need to do is to set both the start and end colors for gradient to be the same color.
Here's what the sample CSS codes for IE may look like:
Now we're done with IE, then we can hack Firefox and Opera
Since both Firefox and Opera do support CANVAS, I planed to use an abstract CANVAS component to generate a Base 64 encoded translucent image then apply this image to the background.
In order to do this, I use a method toDataUrl() supported by both Fire and Opera to get the uri of background-image
Here's what the sample CSS codes for Firefox and Opera may look like:
Note that Firefox 3 will start to support rgba() or maybe newer versions of Opera will do, too. So I do check the DOM support for rgab() before I start to hack a browser
Finally, I've got my little JavaScript library done, which is compatible and tested with IE6, IE7, Safari 2.0+, Firefox 2.0, Opera 9.21+
Just feel free to use or extend it or you can simply grab my static HTML example.
Cheers!
Hedger Wang
m dolor sit amet, consectetuer adipiscing elit. Suspendisse varius ante vitae nunc. Nam interdum tortor id risus vehicula elementum. Cras sollicitudin diam. Vivamus iaculis iaculis dui. Morbi venenatis eros ut nisl. Aliquam ornare ullamcorper urna. Maecenas mauris lacus, cursus et, feugiat et, aliquet sed, nibh. Nullam vitae dui. Mauris dapibus. Curabitur eu ipsum.Fusce semper imperdiet risus. Pellentesque tortor turpis, rutrum fringileptos hymenaeos. Cras pede. Vestibulum lobortis commodo sem. Cras id elit sagittis ligula vulputate ornare. Integer justo lorem, volutpat non, m nec, auctor in, nisl. Nunc odio. Vivamus tincidunt scelerisque dia
m dolor sit amet, consectetuer adipiscing elit. Suspendisse varius ante vitae nunc. Nam interdum tortor id risus vehicula elementum. Cras sollicitudin diam. Vivamus iaculis iaculis dui. Morbi venenatis eros ut nisl. Aliquam ornare ullamcorper urna. Maecenas mauris lacus, cursus et, feugiat et, aliquet sed, nibh. Nullam vitae dui. Mauris dapibus. Curabitur eu ipsum.Fusce semper imperdiet risus. Pellentesque tortor turpis, rutrum fringileptos hymenaeos. Cras pede. Vestibulum lobortis commodo sem. Cras id elit sagittis ligula vulputate ornare. Integer justo lorem, volutpat non, m nec, auctor in, nisl. Nunc odio. Vivamus tincidunt scelerisque dia
m dolor sit amet, consectetuer adipiscing elit. Suspendisse varius ante vitae nunc. Nam interdum tortor id risus vehicula elementum. Cras sollicitudin diam. Vivamus iaculis iaculis dui. Morbi venenatis eros ut nisl. Aliquam ornare ullamcorper urna. Maecenas mauris lacus, cursus et, feugiat et, aliquet sed, nibh. Nullam vitae dui. Mauris dapibus. Curabitur eu ipsum.Fusce semper imperdiet risus. Pellentesque tortor turpis, rutrum fringileptos hymenaeos. Cras pede. Vestibulum lobortis commodo sem. Cras id elit sagittis ligula vulputate ornare. Integer justo lorem, volutpat non, m nec, auctor in, nisl. Nunc odio. Vivamus tincidunt scelerisque dia
m dolor sit amet, consectetuer adipiscing elit. Suspendisse varius ante vitae nunc. Nam interdum tortor id risus vehicula elementum. Cras sollicitudin diam. Vivamus iaculis iaculis dui. Morbi venenatis eros ut nisl. Aliquam ornare ullamcorper urna. Maecenas mauris lacus, cursus et, feugiat et, aliquet sed, nibh. Nullam vitae dui. Mauris dapibus. Curabitur eu ipsum.Fusce semper imperdiet risus. Pellentesque tortor turpis, rutrum fringileptos hymenaeos. Cras pede. Vestibulum lobortis commodo sem. Cras id elit sagittis ligula vulputate ornare. Integer justo lorem, volutpat non, m nec, auctor in, nisl. Nunc odio. Vivamus tincidunt scelerisque dia
m dolor sit amet, consectetuer adipiscing elit. Suspendisse varius ante vitae nunc. Nam interdum tortor id risus vehicula elementum. Cras sollicitudin diam. Vivamus iaculis iaculis dui. Morbi venenatis eros ut nisl. Aliquam ornare ullamcorper urna. Maecenas mauris lacus, cursus et, feugiat et, aliquet sed, nibh. Nullam vitae dui. Mauris dapibus. Curabitur eu ipsum.Fusce semper imperdiet risus. Pellentesque tortor turpis, rutrum fringileptos hymenaeos. Cras pede. Vestibulum lobortis commodo sem. Cras id elit sagittis ligula vulputate ornare. Integer justo lorem, volutpat non, m nec, auctor in, nisl. Nunc odio. Vivamus tincidunt scelerisque dia