Buon pomeriggio a tutti!

Premetto che non so se questa è la sezione giusta...
nel mio sito ho un problema con la visualizzazione di alcune cose... il problema è riconducibile al foglio di stile e in particolar modo alla dimensione del font...
il problema si manifesta con monitor 3/4 e a risoluzione bassa ad esempio 1024*768 allora ho cercato una soluzione generale. per ora sono riuscito a fare solo questo:
codice:
function risscreen(l) {
			//alert(l);
			if(l < 1152) {
				//alert("dentro primo if");
				document.getElementById('id_body').style.fontSize = '7pt';
			}
			else {
				//alert("dentro primo else");
				if(l < 1280) document.getElementById('id_body').style.fontSize = '8pt';
				else {
					//alert("dentro secondo else");
						if(l < 1360) document.getElementById('id_body').style.fontSize = '9pt';
						else {
							//alert("dentro terzo elese");
							document.getElementById('id_body').style.fontSize = '10pt';
						}
				}
			}
		}
gli alert sono solo per dei test...
con questa soluzione il tutto funziona... però la mia domanda: è il metodo migliore? io sinceramente volevo evitare di usare javascript o comunque un linguaggio di scripting lato client... un modo per farlo utilizzando php o addirittura direttamente dal css??

Questo era il primo quesito... il secondo è molto meno complesso.
Perchè se in un file .js uso window.screen.width questa mi ritorna null? se lo uso in una pagina normale funziona =)

Grazie per l'aiuto!