in maniera semplice semplice solitamente uso una cosa di questo tipo:
codice:
function bsniff(){
    
	
	this.dom = document.getElementById?1:0;//// verifichiamo se i metodo getElementById è disponibile (si su browser più recenti)
    this.ie = (document.all && !this.dom)?1:0; ///Explorer 4 
	this.IE = (this.dom && document.all)?1:0; ///explorer 5 e superiori
	this.n4 = (document.layers && !this.dom)?1:0;///Communicator (netscape)
	this.NN = (this.dom && !document.all)?1:0;////Netscape Navigator (6, 7+)
	this.opera = window.opera?1:0;///Opera
	return this;
  
 
/*

 per Sfari c'è qualche cosina in più ma non mi sembra necessario, con gli stili soprattutto mi sembra abbia un comportamento 'standard'
*/
 }

// istanziamo un nuovo opggettino

bw = new bwsniff();

//le prorpietà di bw sono quelle definite nella funzione-costruttore.

quindi
if(bw.ie){ ///se IE 4
  document.write(css per IE 4)
}

//etc...
ripeto questo è un controllo facile facile.. si può fare di più all'occorrenza sfruttando l'oggetto navigator di Javascript.

ciao!