Okay, Erklärungsversuch für Anfänger:
Der Browser kann unterschiedliche HTML-Anweisungen erhalten, eine Seite oder einzelne Bereiche darin in der Breite nicht dynamisch, sonder stur einer bestimmten vorgegebenen Breite nach anzuzeigen.
Das wären z. B. HTML-Tag-Optionen wie
"width" (=Breite) kann Werte in Prozent oder Pixel enthalten, wobei Pixel-Angaben eine feste Breite darstellen, unabhängig der Fensterbreite!
Da Du in der obersten Tabelle in der overall_header.tpl eine Breite von 1000px (Pixel und nicht Prozent!) angegeben hast, ist eben diese Tabelle (die bei Dir den Board-Kopf enthält) eben
immer 1000 Pixel breit und damit eben auch eventuell grösser, als das Browserfenster selber. Die Seite läuft dann also auch nach rechts raus.
Daher sollte man hier immer nur width="100%" angeben, um den Browser anzuweisen, die Tabelle "nur" auf die maximale Fensterbreite zu vergrössern.
Dann kann und wird auch nichts nach rechts aus dem Fenster laufen.
Das war jetzt bei Dir der erste Fehler.
Button, bzw. Grafiken, die in einer Zeile gepackt werden (und dabei gerade in einer Tabellenzeile), können nicht umgebrochen, sondern auch nur stur nebeneinander dargestellt werden.
Wenn Du hierzu dann noch "nowrap" irgendwo angegeben hast, darf der Browser sogar die Zeilen nicht umbrechen (nowrap = Zeilenumbruch unterbinden) und die Seite kann dann auch wieder nach rechts aus dem Browserfenster laufen.
Ersetzt man z. B. solche Button-, bzw. Image-Zeilen einfach durch Textlinks, kann der Browser zumindest diese umbrechen und muss dann das Layout nicht sofort zerreissen.
Oder man passt die Lage der Button und Images per Javascript dynamisch an die Fensterbreite an, bzw. erstellt mehrere "kürzere" Zeilen, was allerdings so oder so eine andere Aufgabe wäre...
Ich hoffe, jetzt war es verständlicher...