Webshop jtl2 wird nicht richtig dargestellt

  • Hallo,
    ich habe seit kurzem einen neuen Shop, der einen Fehler in der Darstellung hat.
    Siehe hier:
    http://www.hausundwerkstatt24.de/Campingzubehoer
    der erste Artikel wird mit der vorigen Zeile überlagert.
    Beim IE passiert das nicht.
    Leider findet der Programmierer des Templates den Fehler nicht, :(
    ich bin ratlos und völlig ahnungslos.
    Hat da jemand einen Tip?
    Einige Kunden sagten mir auch, das der Shop fast gar nicht unter Firefox zu benutzen ist.
    Völlig verschobene Darstellung. Das kann ich nicht nachvollziehen, da mir nicht passiert, aber Kunden berichteten so etwas.
    Gibt es ein Programm, das Fehler speziell für Firefox im HTML code findet?

    Danke schon mal.

  • Das Template hat in der Tat einige syntaktische Fehler: Wenn man HTML 4.01 Strict als Doctype angibt, dann sollte man sich schon an die entsprechenden Regeln halten. Tags wie <center> haben dann nichts im Quelltext zu suchen, und man sollte auf die korrekte Schachtelung von Blocklevel- und Inline-Elementen achten. <br /> ist auch kein gültiges HTML.

    Unabhängig davon, dass der Programmierer hier sowieso nochmal nachbessern sollte, wird das hier beschriebene Problem aber nicht durch ein syntaktisches, sondern durch ein konzeptionelles Problem verursacht:
    [Blockierte Grafik: http://img440.imageshack.us/img440/6482/hwsht4.th.jpg]
    Wir sehen hier zunächst ein weiteres Problem: Es wurde zwar mit <div>s gearbeitet, aber diese sind dann doch wieder mit datenfreien Layout-Tabellen gefüllt. Das ist nicht nur schlechter Stil, sondern verursacht auch Fehler wie diesen: Wenn einer Tabellenzelle explizit 100% Breite zugewiesen werden (siehe Screenshot), dann kann sich ein Link natürlich auch entsprechend breit machen.
    Firefox rendert hier völlig korrekt, es steht nirgends, dass ein Link kein absolut positioniertes anderes Element überlagern darf. Der IE zeigt es zwar so an, wie es gedacht war, aber in Wirklichkeit "rät" er nur, was der Programmierer gemeint haben könnte.

    Die (nicht optimale, aber schnelle) Lösung: Man könnte zum Beispiel den Link mit einem Div umfassen, dem man eine absolute Breite oder eine relative Breite wesentlich kleiner als 100% zuweist. Die bessere Lösung wäre aber, das Template nochmal grundlegend anzupassen und auch die anderen technischen unzulänglichkeiten auszumerzen.