Prima chiarisco come lavoro ora, poi faccio la domanda

Sono solito sviluppare siti con layout a 3 colonne usando questo metodo

Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
  <
head>
  <
meta http-equiv="content-type" content="text/html; charset=windows-1250">
<
style>
#header
{
text-aligncenter;
}
#extra
{
floatright;
width180px;
}
#navigation
{
floatleft;
width180px;
}
#content
{
margin-left181px;
margin-right181px;
}
#footer
{
clearboth;
}
</
style>
  <
title></title>
  </
head>
  <
body>

<
div id="container">
  <
div id="header">
    
header
  
</div>
  <
div id="extra">
    
extra
  
</div>
  <
div id="navigation">
    
navigation
  
</div>
  <
div id="content">
    
content
  
</div>
  <
div id="footer">
    
footer
  
</div>
</
div>

  </
body>
</
html
(ho tolto tutto ciò che non è strettamente inerente al posizionamento)
Funziona sempre alla grande... due colonne a larghezza fissa (180px... ma può essere fatto anche in em) e colonna centrale che si allarga e si stringe in base alla risoluzione

Difetto
I contenuti devono stare dopo la colonna extra (colonna di destra) e la colonna navigation (colonna sinistra)... la qual cosa è brutta sia ne confronti dei browser per non vedenti (che si trovano i contenuti alla fine e devono scorrere tutto il menù e i link extra della sezione di destra), che nei confronti dei motori di ricerca (che si ritrovano sempre le stesse parole nella parte "alta" della pagina dando quindi meno importanza ai contenuti

Ho cercato un po' in giro ma non sono venuto a capo di questa domanda
C'è un modo per avere il layout di cui ho bisogno (3 colonne, destra e sinistra a larghezza fissa in pixel, colonna centrale variabile) mettendo i contenuti più "in alto" nell'html?