In the case you pointed out, I am literally applying opacity to the img elements themselves like:
Notice I’m not using alpha image filters or any other stuff to support older browsers. I just decided it wasn’t that important for such a little thing. Then on the hover event, I just push it back up like:
Check out the link jonz posted for a more comprehensive technique to handling CSS transparency. Even then, if you REALLY wanted it to be cross-browser perfect, it’d be better to use a sprites-like technique.