Atualmente, você realmente não precisa se preocupar com a opacidade sendo uma coisa difícil em todos os navegadores. Você apenas usa a propriedade opacity, assim:
.thing ( opacity: 0.5; )
0 é totalmente transparente (não será visível, como visibilidade: oculto;) e 1 é totalmente opaco (padrão). Qualquer coisa intermediária é parcialmente transparente.
Por motivos históricos, é assim que costumamos fazer:
.transparent_class ( /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* IE 5-7 */ filter: alpha(opacity=50); /* Netscape */ -moz-opacity: 0.5; /* Safari 1.x */ -khtml-opacity: 0.5; /* Good browsers */ opacity: 0.5; )