Bei folgendem Quellcode erscheint der hintergrund des jeweiligen Textes sehr breit.
Hmm... Was genau meinst Du denn jetzt?
Ich sehe da nur einen Hintergrund, nämlich dn, den Du im Body eingebunden hast:
<body topmargin="0" leftmargin="0" background="images/bg_main.jpg">
Und das würde ich so nicht machen... Ist das nicht als deprecated eingestuft? Ich bin mir da nicht sicher...
Aber ich würde das hier anders angehen und das ganz besonders, wenn ich mit XHTML statt HTML arbeite.
Wieso bindest Du das Bild nicht mit CSS ein? Dann hast Du auch einiges mehr an Möglichkeiten...
http://selfhtml.teamone.de/css/eigenschaften/hintergrund.htm#background_image
und mit background-repeat, background-position, background-attachment, ... kannst Du dann genaueres regeln.