#Background kannst du komplett weglassen und die
Eigenschaften mal abgesehen von position, width, height
für das Element body notieren.
In #Head läßt du font weg und verwendest statt div einfach h1,
statt width gibst du da an: left:0; right:0, height gibst du eher in
em an, also z.B. height: 3em
Ähnlich geht es mit #titlehead - font weg, p weg, h2 statt div,
position, width, height etc ganz weg.
Wenn das wirklich positioniert werden soll, steckst du h1 und
h2 in ein div namens #Head, das sollte dann reichen.
#Left - die Tabellen weg, das soll vermutlich das Menü werden,
da verwendet man dann besser eine Liste.
Das kann man dann grob so dimensionieren:
position: absolute;
top: 3em;
left: 0;
width: 13em;
Ansonsten entsorgst du die Positionierungsangaben.
Dann schreibst du für #Mid und #Foot eben noch: margin-left: 14em;
#Foot schreibst du vermutlich sowieso schon von der
inhaltlichen Bedeutung her besser unten in den Quelltext.
font und center entsorgst du da auch - Text zentrieren kann
man auch mit CSS text-align: center.
#Mid statt font verwendest du für eine Überschrift dann sowas
wie h2 oder h3 etc, je nachdem, wie du das zu den vorherigen
Überschriften einordnest. u brauchst du vermutlich auch nicht
unbedingt - auch eher CSS verwenden.
Solange du keine weiteren Angaben zur Größe eines Elementes
machst, ist da sowas wie 100% impliziert, brauchst du dich nicht
drum kümmern, solange das nicht positioniert ist.
Beim #Head ist das implizit dadurch für die Breite festgelegt, daß
left und right 0 sind.
Ein Element ‘left’ gibt es in XHTML nicht , #Foot ganz weglassen,
könnte sich in #Mid um ein p-Element handeln, was inhaltlich
passen könnte.