HTML: Problem mit überlappenden Tabellen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

HTML: Problem mit überlappenden Tabellen

Beitrag von mgutt »

Hi,

dieses Problem betriff ausschließlich den IE.

Und zwar wenn ich innerhalb einer Tabelle noch eine Tabelle z.B. rechtsbündig mache:

Code: Alles auswählen

<table>
<tr>
<td>
Text1
       <table align="right" width="300">
       <tr>
       <td>
       Anzeige1
       </td>
       </tr>
       </table>
</td>
</tr>
</table>
Dann "umschließt" Text1 die rechtsbündige Tabelle. Das kennt man z.B. von Heise:
http://www.heise.de/newsticker/meldung/87664

Das gleiche kann man natürlich auch linksbündig machen.

Aber es gibt ein Problem, wenn der Text1 selbst eine Tabelle enthält. Also sozusagen zwei Tabellen nebeneinander sind. In diesem Fall entscheidet sich der IE zu ganz komischen Dingen:

Code: Alles auswählen

<table>
<tr>
<td>
Text1
       <table width="90%">
       <tr>
       <td>
       Zitat1
       </td>
       </tr>
       </table>
Text2
       <table align="right" width="300">
       <tr>
       <td>
       Anzeige1
       </td>
       </tr>
       </table>
</td>
</tr>
</table>
In diesem Fall überschneidet die 90% Tabelle die rechtsbündige und das Zitat1 "schwebt" dann über der rechtsbündigen Tabelle.

Im Firefox ist das Ergebnis zwar auch nicht schön, aber dafür ansehnlicher. Hier wandert Zitat1 einfach unter Anzeige1.

Ich weiß, dass es nicht korrekt ist, wenn man neben einer festen Tabelle mit fixer Breite eine mit prozentualer Angabe hat und dass das zu Fehlern führt ist eigentlich klar. Aber ich will, dass der sich in diesem Fall 90% von der dann noch zur Verfügung stehenden Breite nimmt und nicht von der Gesamtbreite ausgeht, da ja 300 Pixel anscheinend schon reserviert sind.

D.h. wenn die äußere Tabelle z.B. 1000 Pixel breit wäre, dann wäre eine Tabelle mit 90% klarerweise 900 Pixel breit, aber wenn dort bereits eine mit 300 Pixeln angezeigt wird, dann ist es in meinen Augen unlogisch, dass der IE sich immer noch 900 Pixel, anstatt 630 Pixel vornimmt. Auch Firefox will ich dazu überzeugen :lol:

Nun die Frage. Ist es möglich, dass man z.B. mit div-Containern arbeitet und dieses Phänomen damit komplett vermeidet? Oder was sollte man angeben um sowas zu ermöglichen? Wichtig ist einfach, dass ein Zitat weiterhin als Zitat erkennbar ist und das geht in meinen Augen nunmal nur dann, wenn es eingerückt und umrandet ist.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Versuchs mal so

Code: Alles auswählen

<table width="100%">
	<tr> 
		<td width="90%">Text1
			<table> 
				<tr> 
					<td>Zitat1</td> 
				</tr> 
			</table> 
		</td>
		<td align="right" width="300">Text2
			<table> 
				<tr> 
					<td>Anzeige1</td>
				</tr> 
			</table> 
		</td>
	</tr> 
</table>
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Das sieht man schon, dass das nichts wird. Du spaltest die Tabelle doch nur auf in zwei feste Spalten. Da ist aber nichts mehr mit Textumfluss. Weiterhin ist Text2 nur die Fortsetzunge von Text1. Es gibt keine feste Bruchstelle. Text1 kann 1000 Zeichen sein bevor ein Zitat kommt aber auch nur 10 Zeichen. Gleiches gilt für Text2.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Re: HTML: Problem mit überlappenden Tabellen

Beitrag von easygo »

Hä? Nochmal langsam.. wo steht da oben was von Textumfluss?
mgutt hat geschrieben:Das gleiche kann man natürlich auch linksbündig machen.

Aber es gibt ein Problem, wenn der Text1 selbst eine Tabelle enthält. Also sozusagen zwei Tabellen nebeneinander sind. In diesem Fall entscheidet sich der IE zu ganz komischen Dingen:

Code: Alles auswählen

<table>
<tr>
<td>
Text1
       <table width="90%">
       <tr>
       <td>
       Zitat1
       </td>
       </tr>
       </table>
Text2
       <table align="right" width="300">
       <tr>
       <td>
       Anzeige1
       </td>
       </tr>
       </table>
</td>
</tr>
</table>
In diesem Fall überschneidet die 90% Tabelle die rechtsbündige und das Zitat1 "schwebt" dann über der rechtsbündigen Tabelle.

Im Firefox ist das Ergebnis zwar auch nicht schön, aber dafür ansehnlicher. Hier wandert Zitat1 einfach unter Anzeige1.
Und dabei hab ich schon 2-3 Augen zugedrückt! Ich mein, dass irgend ein "Text" keine HTML-Tabelle
enthalten kann, sollte eigentlich jedem klar sein. So was kann in der Struktur nur der <td> Tag.

Nochmal zum besseren Verständnis:

Was ich dir gezeigt habe, verhindert das Überschneiden. Viel mehr war ja nicht gefragt, oder? :o
mgutt hat geschrieben:Das sieht man schon, dass das nichts wird. Du spaltest die Tabelle doch nur auf in zwei feste Spalten.
Wenn ich irgendwo 2 feste Spalten anlegen will, verwende ich sicher keine Prozentangaben! Da helfen nur
absolute Werte und btw.. irgendwelche Tabellen brauchts in "Spalten" als solches eher selten. easy
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Naja.. es ist dummerweise eine phpBB Message und da ist das Zitat in einer Tabelle mit 90% Breite.

Ich denke ich werde das in div-Tags ändern. Dann müsste das klappen.

Das mit dem Textumfluss habe ich in dem Satz mit dem Heiselink gesagt.

Dummweise habe ich aber noch ein Problem festgestellt.

Meine Haupttabelle ist z.b. 600 Pixel breit und in der Spalte mache ich anstatt Text1 ein Bild mit 400 Pixeln Breite rein. Wenn ich dann eine rechtsbündige Tabelle "neben" das Bild setze, dann überlappt das Bild die rechte Tabelle ebenfalls :roll:

Das Zitat ist sage ich mal "gelöst", aber wie ich das mit dem Bild hinkriegen soll, keine Ahnung.

Muss ich wohl %-tuale Angaben in der Haupttabelle nehmen :cry:
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Re: HTML: Problem mit überlappenden Tabellen

Beitrag von easygo »

mgutt hat geschrieben:Dann "umschließt" Text1 die rechtsbündige Tabelle. Das kennt man z.B. von Heise:
http://www.heise.de/newsticker/meldung/87664
Nö, weder ist da ein Umschließen noch ein Textumfluss zu erkennen
und der Quelltext gibt das auch nicht her, schau es dir nochmal genau an.
Im Prinzip alles so wie auf anderen Portalseiten mit 3 Spalten..

Lesestoff für den Fall, dass Content Tabellen umfließen soll (Stichwort ist float)
http://de.selfhtml.org/html/tabellen/um ... usrichtung

Zu heise: Falls du die Tabelle für die obere News-Navi meinst, die ist in sich geschlossen
und die Tabellenzeile mit align right bezieht sich dort nur auf vorige / nächste

Danach kommen diverse DIV-Container und Tabellen für zentrale Texte..
schließlich wieder eine Tabellenzeile mit valign="top", die für nen Sprung nach oben
rechts sorgt und dadurch wieder eine neue Spalte anlegt für Kaesten. easy
Antworten

Zurück zu „Coding & Technik“