L'uso di posizionamenti (assoluti o relativi) da` sempre problemi nell'adattere il layout a varie risoluzioni.
Conviene usare invece i float.
Nel caso specifico io farei:
codice:
<body>
<div id="later"> ... </div>
<div id="princ"> ... </div>
</body>
con CSS:
codice:
html, body {
font-size: 100.01%;
width: 100%; /* necessario per molti browser - non per IE */
}
#later {
width: 300px;
float: right;
}
#princ {
margn-right: 300px;
}
Se devi dare sfondi diversi o una divisione in due della pagina, puoi usare il trucco delle "false colonne" ("faux columns") (chiaramente allineando l'immagine a destra).