Highchiller: Extreme Probleme mit Tabellenhöhe

Beitrag lesen

Hallo Zusammen,
so langsam reißt mir der Geduldsfaden. Also ich habe eine Tabelle (ja, ich würde gern auch 2013 noch mit einer Tabelle arbeiten statt div-css-getrixe!) mit einer Überschrift (1. Zeile), einem Select-Block (2.Zeile) einem pre-Block mit sehr langem Code gefüllt (3.Zeile) und einer Link in der letzten (4.) Zeile.
Soweit so gut. Nun möchte ich, dass der pre-Block allen übrigen Platz zugewiesen bekommt der nötig ist um das aktuelle Fenster zu füllen. Dafür habe ich der Zeile in dem der pre-Block steht folgendes zugewiesen:
<td align="center" style="height:100%">

Dann via externer CSS-Datei meinem pre-block die nötigen Eigenschaften zugewiesen.

pre#script{  
 height: 100%;  
 overflow: auto;  
}

Jetzt wirds strange...
Wenn ich den Doctype meiner Page wie folgt formuliere:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD 4.01 Transitional//EN">
funktioniert es in Chrome (in Firefox nicht). Funktionieren heißt in meinem Fall: der pre-block nutzt so viel Platz wie möglich in der Spalte und alles darüber hinaus aktiviert die Scrollbar des pre-blocks.
Firefox hingegen denkt sich 100% sind 100% und zieht den pre-block einfach so groß bis der ganze Code zusehen ist. (da hilft dann auch keine scrollbar mehr, schließlich wird der code ja zu 100% angezeigt)

Wenn ich jetzt aber eine dtd mit im Doctype angebe kommt auch Chrome nicht mehr mit und zeigt blödsinn an. Was 100% sind weiß er dann gar nicht mehr und zeigt einen ~5px breiten streifen vom Code an der partout nicht vergrößert werden kann (außer man benutzt pixel Angaben).

Was ich will ist, dass die Tabelle ordentlich aufbaut, jede Zeile so viel Platz (Höhe) zugewiesen bekommt wie sie halt benötigen. Der restliche Freiraum soll dann der 3. Zeile (dem pre-block) zugute kommen damit mein Browserfenster zu 100% mit der Tabelle gefüllt ist (und zwar IMMER). Wenn mehr Code im Pre-Block stehen sollte als hinein passt wird halt eine Scrollbar gestellt (quasi im Stile von overflow: auto;).

Ich bekomms einfach nicht hin und hab schon die verrücktesten Ansätze gesehen. Einschließlich mit Javascript die momentane Seitenhöhe auszulesen und daraus die Pixelangabe für die Zeile zu setzen... Das kanns ja irgendwo nicht sein.

Ich hoffe ihr könnt mir helfen da ihr weitaus erfahrener seid als ich.
Sollte ich was vergessen haben oder sonstige Fehler oben auftauchen macht mich bitte nicht gleich fertig. Ich werd versuchen alle Infos zu geben die benötigt werden.

Mit freundlichen Grüßen
Highchiller