IE macht ungewollten Abstand nach ausgerichteten Tabellen (easy?)
Markus
- browser
0 Martin0 Ludwig Ruderstaller0 Markus
0 Markus0 Manne0 Markus
0 Martin
Folgende harte Nuss, bei der sich hier schon drei Leute die Zaehne ausgebissen haben,
eigentlich aber Basis-HTML zu sein scheint:
Ich habe 4 Tabellen, die in einer eigentlich üblichen Form ausgerichtet werden sollen.
Symbolische Darstellung:
____________________
_________2_______ Netscape macht ausnahmsweise mal alles richtig,
nur der IE4 und höher können nicht damit umgehen.
1 Wenn ich die linke Tabelle align="left" setze, macht
3 der IE einen kleinen Spalt/Abstand vor der nächsten
4 Tabelle, so dass diese nicht direkt an der vorherigen
anliegen kann.
___________________ Wenn ich dann die nächste Tabelle auch align="left"
setze, verschwindet zwar der Abstand, dafür wird aber
die dritte Tabelle (logischerweise) rechts davon angeordnet, was ich aber nicht will,
sondern die dritte Tabelle soll unter der zweiten aber rechts von der ersten angeordnet
werden. (wer jetzt komplett verwirrt ist -> Symbolische Darstellung).
Ich suche eine saubere HTML-Lösung, und keine forcierten <BR> Tags zum
umbrechen o.ä.!
Kann mir vielleicht jemand 'nen Tip geben.
Gruesse Markus!
PS: Source-Code folgt:
<HTML>
<HEAD>
<TITLE>Warum macht IE nach ALIGN="left" einen Abstand? </TITLE>
</HEAD>
<BODY TEXT="#000000" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0">
<!-- Beginn der linken (blau) Tabelle -->
<TABLE ALIGN="LEFT" WIDTH="150" HEIGHT="400" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
<TD BGCOLOR="#004BB7">links</TD>
</TR>
</TABLE>
<!-- Beginn der oberen (gruen) Tabelle -->
<!-- HIER DIE PROBLEMSTELLE -->
<TABLE WIDTH="630" HEIGHT="25" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
<TD BGCOLOR="#00CC82">-- Hier ist beim IE ein unbeabsichtigter Abstand</TD>
</TR>
</TABLE>
<!-- Beginn der mittleren (rot) Tabelle -->
<TABLE ALIGN="LEFT" WIDTH="500" HEIGHT="375" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
<TD BGCOLOR="#BB0033">mitte</TD>
</TR>
</TABLE>
<!-- Beginn der rechten (blau) Tabelle -->
<TABLE ALIGN="LEFT" WIDTH="130" HEIGHT="375" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
<TD BGCOLOR="#004BB7">rechts</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Danke für's wackere Durchlesen!
Hallo Markus!
Wie wärs, wenn du 4 Tabellen als "Untertabellen" in einer übergeordneten Tabelle definierst? Der Abstand der einzelnen Untertabellen würde sich durch Angaben wie Rahmenbreite, Zellenabstand usw. festlegen lassen.
mfg
Marin
Hallo,
darf man fragen warum du es dir selbst so schwer machst?
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
<tr>
<td rowspan="2" height="100%" width="150" bgcolor="#004BB7">LINKS</td>
<td colspan="2" height="25" bgcolor="#00CC82">OBEN</td>
</tr>
<tr>
<td height="100%" width="100%" bgcolor="#BB0033">MITTE</td>
<td height="100%" width="130" BGCOLOR="#004BB7">RECHTS</td>
</tr>
</table>
ACHTUNG! nicht getestet, sollte aber so aussehen wie du es möchtest.
lg
Ludwig
Nochmal zur Sicherheit:
Um weiteren Tips zur Lösung mit EINER Tabelle vorzugreifen:
Die Site wird sehr viel Inhalt bekommen.
Wenn ich alles in eine Tabelle packe muss der Besucher warten
bis alles geladen ist, bevor er etwas zu sehen bekommt,
da Tabellen in HTML erst angezeigt werden, wenn sie
komplett geladen sind.
Deshalb verteile ich den Inhalt auf 4 Tabellen, die dann
nacheinander geladen und angezeigt werden.
Auf diese Weise kann man die Navigation schon sehen und
anklicken, bevor man den ganzen anderen "Mist" geladen hat.
Trotzdem danke erstmal für die schnellen Antworten.
Wäre aber sehr dankbar für weitere Tips!
Gruss, Markus.
Hallo,
darf man fragen warum du es dir selbst so schwer machst?
<table border="0" cellspacing="0" cellpadding="0" width="100%" height="100%">
»» <tr>
<td rowspan="2" height="100%" width="150" bgcolor="#004BB7">LINKS</td>
<td colspan="2" height="25" bgcolor="#00CC82">OBEN</td>
»» </tr>
»» <tr>
<td height="100%" width="100%" bgcolor="#BB0033">MITTE</td>
<td height="100%" width="130" BGCOLOR="#004BB7">RECHTS</td>
»» </tr>
</table>
ACHTUNG! nicht getestet, sollte aber so aussehen wie du es möchtest.
lg
Ludwig
Um weiteren Tips zur Lösung mit EINER Tabelle vorzugreifen:
Die Site wird sehr viel Inhalt bekommen.
Wenn ich alles in eine Tabelle packe muss der Besucher warten
bis alles geladen ist, bevor er etwas zu sehen bekommt,
da Tabellen in HTML erst angezeigt werden, wenn sie
komplett geladen sind.
Deshalb verteile ich den Inhalt auf 4 Tabellen, die dann
nacheinander geladen und angezeigt werden.
Auf diese Weise kann man die Navigation schon sehen und
anklicken, bevor man den ganzen anderen "Mist" geladen hat.
Trotzdem danke erstmal für die schnellen Antworten.
Wäre aber sehr dankbar für weitere Tips!
Gruss, Markus.
Die Site wird sehr viel Inhalt bekommen.
Wenn ich alles in eine Tabelle packe muss der Besucher warten
bis alles geladen ist, bevor er etwas zu sehen bekommt,
da Tabellen in HTML erst angezeigt werden, wenn sie
komplett geladen sind.Deshalb verteile ich den Inhalt auf 4 Tabellen, die dann
nacheinander geladen und angezeigt werden.
Also wenn das so ist, dann würde ich mir als nächstes Gedanken über ein Frameset machen. Das müßte viele Eigenschaften aufweisen, die Du haben willst: Die Frames werden unabhängig voneinander layoutet und sogar parallel geladen und inkrementell dargestellt.
Irgendwelche Einwände gegen Frames (oder Iframes)? Von Deinen Randbedingungen ist noch ziemlich wenig bekannt.
Also wenn das so ist, dann würde ich mir als nächstes Gedanken über ein Frameset machen. Das müßte viele Eigenschaften aufweisen, die Du haben willst: Die Frames werden unabhängig voneinander layoutet und sogar parallel geladen und inkrementell dargestellt.
Irgendwelche Einwände gegen Frames (oder Iframes)? Von Deinen Randbedingungen ist noch ziemlich wenig bekannt.
Ich will Euch ja nicht die Laune verderben, aber ich habe mittlerweile
schon Alpträume von Spalten und Abständen.
Vorgabe lautet leider "Frames vermeiden, wo es nur geht"!
Danke für den Tip.
Markus
PS: Echt cooles Forum, bin erstaunt über die rege Teilnahme.
Ich muss hier öfter mal reinschauen.
Vorgabe lautet leider "Frames vermeiden, wo es nur geht"!
Naja, und wer definiert die exakte Bedeutung dieses butterweichen Statements? ;-)
Was ist mit Browser-Kompatibilität? (Iframe sieht nicht nach Frame aus, geht aber nur im MSIE ...)
Echt cooles Forum, bin erstaunt über die rege Teilnahme.
Ich muss hier öfter mal reinschauen.
Mach nur ... :-)
Vorgabe lautet leider "Frames vermeiden, wo es nur geht"!
Naja, und wer definiert die exakte Bedeutung dieses butterweichen Statements? ;-)
Dieses Statement heisst "KEINE FRAMES", und wenn es auf einer bestimmten Seite
nicht anders zu gehen scheint, wird 100 mal drueber nachgedacht, ob's doch anders geht.
Was ist mit Browser-Kompatibilität? (Iframe sieht nicht nach Frame aus, geht aber nur im MSIE ...)
Grundsätzlich alle Browser ab 3er Version (eigentlich). Aber auf jeden Fall alle 4er Browser.
(auch Netscape) :-))
Gruss, Markus
Echt cooles Forum, bin erstaunt über die rege Teilnahme.
Ich muss hier öfter mal reinschauen.Mach nur ... :-)
<!-- HIER DIE PROBLEMSTELLE -->
<TABLE WIDTH="630" HEIGHT="25" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
»» <TD BGCOLOR="#00CC82">-- Hier ist beim IE ein unbeabsichtigter Abstand</TD>
</TR>
</TABLE>
Wenn auch Style-Angaben enthalten sein duerfen:
<TABLE STYLE="position:absolute; left:150px;" ...
Gruss
Manne
Guter Tip:
Funktioniert auch, leider aber ignoriert jetzt Netscape alle BGCOLOR's innerhalb der TD's.
Das mit den Farben war natuerlich nur zur Verdeutlichung drin, aber ein paar BGCOLOR's
werde ich mit Sicherheit haben.
Muss ich dann eigentlich innerhalb der Tabellen ALLES mit CSS definieren?
Nochmal Danke,
Gruss, Markus.
<!-- HIER DIE PROBLEMSTELLE -->
<TABLE WIDTH="630" HEIGHT="25" CELLSPACING="0" CELLPADDING="0" BORDER="0" HSPACE="0">
<TR>
»» <TD BGCOLOR="#00CC82">-- Hier ist beim IE ein unbeabsichtigter Abstand</TD>
</TR>
</TABLE>Wenn auch Style-Angaben enthalten sein duerfen:
<TABLE STYLE="position:absolute; left:150px;" ...Gruss
Manne
Hi Markus
Wenn du javascript benutzen darfst, dann kannst du einfach per Javascript abfragen ob der IE verwendet wird, und dann die entsprechenden Style Angaben machen. Dann hast du auch keine Probleme mit den bgcolors im Netscape.
Ich hab mal die Tabellen mit dem IE3 Angeschaut. Da gibt es noch viel mehr durcheinander als du fuer den IE4+ beschrieben hast. Meiner Meinung nach haengen die meisten Probleme damit zusammen, dass du zwischen den verschiedenen Tabellen Leerzeilen geschrieben hast.(Returns!). Diese werden vom IE als Leerezeichen interpretiert. Also ein Return zwischen zwei Tabellen ist wie </table> <table...>. Und das kann dann genau wie ein Return oder ein Leerzeichen zwischen zwei Bildern zu unschoenen Zwischenraumen fuehren. Und diese Probleme treten meines Wissens nach auch nur mit dem IE auf.
Ich hoffe das hilft ein wenig
Holger
Ok noch ein Versuch ! ;-)
Warum nicht die Tabellen in eine DIV / LAYER - Kombination verpacken?
mfg
Martin