Sven: Seltsamer Tabellenfehler in Netscape (und IE)

Hallo!

Ich habe da eine Tabelle, wo die erste Zeile wie folgt aussieht:

<TR>
 <TD WIDTH="115"><a onfocus="blur()" href="/hf/hr3/"><IMG ALT="HR3" BORDER=0 HEIGHT=36 SRC="/img/kopf-hr3.gif" WIDTH=115></A></TD>
 <TD WIDTH="22"><a onfocus="blur()" href="/hf/hr3/"><IMG ALT="" BORDER=0 HEIGHT=36 SRC="/img/kopf-logo.gif" WIDTH=22></A></TD>
 <TD width="583" COLSPAN="6" BACKGROUND="/img/kopf-abstand03.gif"><IMG SRC="/img/kopf-abstand02_2.gif" WIDTH="330" HEIGHT="36" BORDER="0" ALT=""><A HREF="/"><IMG SRC="/img-neu/kopf-home.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="hr-homepage"></A><IMG SRC="/img/kopf-abstand03.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT=""><A HREF="/hilfe/"><IMG SRC="/img/kopf-hilfe.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="Hilfe"></A><IMG SRC="/img/kopf-abstand04.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT=""><A HREF="/suchen/"><IMG SRC="/img/kopf-suche.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="Suche"></A>
 </TD>
</TR>

Das, was hier eingerückt ist, sind die eigentlichen Zeilenanfänge, da jede Tabellenspalte samt Inhalt hintereinander weggeschrieben ist. Also quasi so:

<tr>
 <td>test</td>
</tr>

Und nicht:

<tr>
 <td>
 test
 </td>
/tr>

Soviel zur Grundlage! *g*
Wenn ich mir meine Tabelle jetzt so im IE ansehe, sieht alles aus, wie es soll: Das Ganze wird als Gesamtbild ohne Lücken zwischen den einzelnen Tabellenzeilen und -spalten angezeigt und die Breiten stimmen auch. Im Netscape hingegen ist die rechte Spalte 33 Pixel zu breit.

Schreibe ich jetzt die einzelnen IMG-Tags untereinander, also

<TD width="583" COLSPAN="6" BACKGROUND="/img/kopf-abstand03.gif">
 <IMG SRC="/img/kopf-abstand02_2.gif" WIDTH="330" HEIGHT="36" BORDER="0" ALT="">
 <A HREF="/"><IMG SRC="/img-neu/kopf-home.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="hr-homepage"></A>
 <IMG SRC="/img/kopf-abstand03.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="">
 <A HREF="/hilfe/"><IMG SRC="/img/kopf-hilfe.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="Hilfe"></A>
 <IMG SRC="/img/kopf-abstand04.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="">
 <A HREF="/suchen/"><IMG SRC="/img/kopf-suche.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="Suche"></A>
 </TD>

gibt Netscape die Tabelle jetzt zwar in der Breite korrekt aus, setzt aber oberhalb und unterhalb dieser Zeile je einen leeren Pixel Zwischenraum. Im IE aber auch!

Kann mir das jemand erklären? Ich dachte immer, es wäre egal, ob man in einer HTML-Datei irgendwo ENTER drückt, da die Browser Zeilenumbrüche ignorieren würden! Und wie kriege ich Netscape jetzt dazu, meine Tabelle in der korrekten Breite anzuzeigen, ohne daß ich ober- und unterhalb der Zeile die dämlichen leeren Pixel habe?

Falls jemand was weiß: Wär nett, wenn Ihr mir helfen würdet! :-)

Gruß,
Sven

  1. Hi Sven!

    Ich hatte dieses Problem mit dem NS auch schon - und es ließ sich tatsächlich nur dadurch beheben, das ich den Code für die einzelnen Spalten ohne jeden Umbruch hintereinander geschrieben habe.
    Wieso kann ich Dir auch nicht sagen, probier einfach mal aus, alles was sich dem öffnenden und dem schließenden TD steht, in eine Zeile zu schreiben. Müßte dann eigentlich klappen.

    Antje :-)

    1. Wieso kann ich Dir auch nicht sagen, probier einfach mal aus, alles was sich dem öffnenden und dem schließenden TD steht, in eine Zeile zu schreiben. Müßte dann eigentlich klappen.

      Tut es ja auch! Zumindest was den Abstand zur oberen und unteren Zeile angeht! Nur haut mir Netscape dann 33 Pixel zuviel in die Zeile, was das ganze Layout versaut! :-/ Gibt es dafür nicht vielleicht auch noch eine Lösung?

      Gruß,
      Sven

      1. Hallo Sven,

        dürfte klappen, wenN Du die Breite der Tabelle (<table>) geringer setzt als die Summe der einzelnen Spalten. Ist zwar 'mal wieder nicht ganz korrekt, klappt aber ganz gut.

        Grüße aus Köln
        Julian

        1. Hi Julian!

          dürfte klappen, wenN Du die Breite der Tabelle (<table>) geringer setzt als die Summe der einzelnen Spalten. Ist zwar 'mal wieder nicht ganz korrekt, klappt aber ganz gut.

          Nee, leider nicht. Es ändert absolut nichts! :-( Wenn ich dagegen die Spaltenbreite niedriger setze als die Gesamtbreite des Inhalts, sieht es zumindest im Navi gut aus. Im IE aber verhaut das das Layout nur noch mehr! :-(

          Gruß,
          Sven

          1. Hallo Sven,

            habe schnell 'mal bei mir nachgeguckt (http://www.pbweltenbummler.de). Wenn Du _alle_ Breitenangaben wegläßt und die breiten direkt über die Bilder bestimmst, sollte es aber klappen - mit allen Browsern.

            Grüße aus Köln
            Julian

  2. Hallo!

    Ich habe da eine Tabelle, wo die erste Zeile wie folgt aussieht:

    <TR>
    <TD WIDTH="115"><a onfocus="blur()" href="/hf/hr3/"><IMG ALT="HR3" BORDER=0 HEIGHT=36 SRC="/img/kopf-hr3.gif" WIDTH=115></A></TD>
    <TD WIDTH="22"><a onfocus="blur()" href="/hf/hr3/"><IMG ALT="" BORDER=0 HEIGHT=36 SRC="/img/kopf-logo.gif" WIDTH=22></A></TD>
    <TD width="583" COLSPAN="6" BACKGROUND="/img/kopf-abstand03.gif"><IMG SRC="/img/kopf-abstand02_2.gif" WIDTH="330" HEIGHT="36" BORDER="0" ALT=""><A HREF="/"><IMG SRC="/img-neu/kopf-home.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="hr-homepage"></A><IMG SRC="/img/kopf-abstand03.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT=""><A HREF="/hilfe/"><IMG SRC="/img/kopf-hilfe.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="Hilfe"></A><IMG SRC="/img/kopf-abstand04.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT=""><A HREF="/suchen/"><IMG SRC="/img/kopf-suche.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="Suche"></A>
    </TD>
    </TR>

    Das, was hier eingerückt ist, sind die eigentlichen Zeilenanfänge, da jede Tabellenspalte samt Inhalt hintereinander weggeschrieben ist. Also quasi so:

    <tr>
    <td>test</td>
    </tr>

    Und nicht:

    <tr>
    <td>
    test
    </td>
    /tr>

    Soviel zur Grundlage! *g*
    Wenn ich mir meine Tabelle jetzt so im IE ansehe, sieht alles aus, wie es soll: Das Ganze wird als Gesamtbild ohne Lücken zwischen den einzelnen Tabellenzeilen und -spalten angezeigt und die Breiten stimmen auch. Im Netscape hingegen ist die rechte Spalte 33 Pixel zu breit.

    Schreibe ich jetzt die einzelnen IMG-Tags untereinander, also

    <TD width="583" COLSPAN="6" BACKGROUND="/img/kopf-abstand03.gif">
    <IMG SRC="/img/kopf-abstand02_2.gif" WIDTH="330" HEIGHT="36" BORDER="0" ALT="">
    <A HREF="/"><IMG SRC="/img-neu/kopf-home.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="hr-homepage"></A>
    <IMG SRC="/img/kopf-abstand03.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="">
    <A HREF="/hilfe/"><IMG SRC="/img/kopf-hilfe.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="Hilfe"></A>
    <IMG SRC="/img/kopf-abstand04.gif" WIDTH="40" HEIGHT="36" BORDER="0" ALT="">
    <A HREF="/suchen/"><IMG SRC="/img/kopf-suche.gif" WIDTH="50" HEIGHT="36" BORDER="0" ALT="Suche"></A>
    </TD>

    gibt Netscape die Tabelle jetzt zwar in der Breite korrekt aus, setzt aber oberhalb und unterhalb dieser Zeile je einen leeren Pixel Zwischenraum. Im IE aber auch!

    Kann mir das jemand erklären? Ich dachte immer, es wäre egal, ob man in einer HTML-Datei irgendwo ENTER drückt, da die Browser Zeilenumbrüche ignorieren würden! Und wie kriege ich Netscape jetzt dazu, meine Tabelle in der korrekten Breite anzuzeigen, ohne daß ich ober- und unterhalb der Zeile die dämlichen leeren Pixel habe?

    Falls jemand was weiß: Wär nett, wenn Ihr mir helfen würdet! :-)

    Gruß,
    Sven

    hallo sven,

    eine fehlerquelle könnte sein, dass die bilder insgesamt eine grösse von 550px haben du jedoch die zeilenbreite auf 583px gesetzt hast. das wären die 33px zuviel.

    du solltest auch mal prüfen, ob deine colspans alle korrekt sind.

    hoffe, es hilft weiter

    gruß
    thomasC