Versuch's mal mit korrekt aufgebautem html und einer ausgelagerten css-Datei. In etwa so:
Der Code ist zu Präsentationsbezogen und lässt sich nur umständlich generieren, wenn man die Rahmen z.B. erst später mittels JavaScript hinzufügt. Ich würde da tendentiell bei meinem Vorschlag bleiben.