Solo con JS, aunque no recuerdo bien si lo he visto solo en css, aunque me parece que no es posible(no estoy seguro).
Particularmente usaria Spry de adobe
http://labs.adobe.com/technologies/s...tipSample.html
aunque se podria hacer algo similar con las librerias de mootools tambien, seria cuestion de investigar, aunque prefiero las de adobe, ya me acostumbre a su forma de trabajo.
Saludos