Feste und variable Tabellenzellen
Stefan der hilflose
- html
Hallo,
auf die Gefahr hin, dass
es in irgendwelchen FAQ oder im Forum-Archiv steht (wobei
ich brav gesucht und nix gefunden habe): Ein Standard-HTML-Frage.
Folgendes: Ich habe eine Tabelle variabler Breite
<table width="100%">
eine fest definierte Zelle links
<td width="180">inhalt</td>
eine "dünne" zellen-linie daneben
<td width="1"><img src="spacer.gif" width="1" height="1"></td>
und dann eine Zelle, die den rest der seite ausfüllen soll.
<td> </td>
Das funktioniert alles blendend mit dem Gecko und dem IE,
aber mein Sorgenkind Netscape 4.x spielt nicht mit.
Die mittlere Spacer-Zelle wird einfach 14 Pixel auseinandergezogen
und gibt eine fetten schwarzen Balken.
Hat jemand eine Lösung?
(PS: Die restlichen Angaben habe ich aus dem Posting rausgenommen - nur auf die Gefahr hin, dass jemand spekuliert ich hätte Angaben vergessen).
Grüsse
Stefan
Hallo Namensvetter,
<table width="100%">
<td width="180">inhalt</td>
<td width="1"><img src="spacer.gif" width="1" height="1"></td>
<td> </td>
also die letzte Zeile entweder
<td width="100%"> </td>
oder, wenn es damit nicht klappt
<td><table width="100%"><tr><td> </td></tr></table></td>
Eigentlich sollte Variante Nr.1 funktionieren.
MfG, Stefan
<td width="100%"> </td>
funktioniert, in die erste Zelle (die mit width="180") muß dann aber
noch ein Stabilisierungsgif rein, also z.Bsp.
<td><img src="spacer.gif" height="1" width="180"><br>hier die eigentlichen inhalte der Zelle</td>
Hallo,
funktioniert, in die erste Zelle (die mit width="180") muß dann aber
noch ein Stabilisierungsgif rein, also z.Bsp.
<td><img src="spacer.gif" height="1" width="180"><br>hier die eigentlichen inhalte der Zelle</td>
danke für die Mühe, komischerweise funktioniert
das bei mir auch nicht (siehe Quellcode-Posting).
Vielleicht hab ich ja wieder was übersehen :-/
Grüsse
Stefan
Hallo Namensvetter :) ,
also die letzte Zeile entweder
<td width="100%"> </td>
oder, wenn es damit nicht klappt
<td><table width="100%"><tr><td> </td></tr></table></td>
hilft leider nicht,
jetzt mal genug der Theorie, hier ist mal
der Quellcode, vielleicht liegt es ja an
der Reihe darüber:
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="181" bgcolor="#000000" colspan="2"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
<td width="100%"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
</tr>
<tr>
<td width="180" bgcolor="#FFFFFF" class="text" valign="top"><table width="180" cellpadding="0" cellspacing="0" border="0">
<tr>
<td bgcolor="#BAC8D3" onmouseout="change('',this,0);" onmouseover="change('#819BB0',this,1);"><table width="180" cellpadding="2" cellspacing="0" border="0">
<tr>
<td width="10" height="18"><img src="../gfx/spacer.gif" width="10" height="18" border="0" alt="spacer"></td><td class="navi"><a href="" id="link">Projektverwaltung</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td width="1" bgcolor="#000000" valign="top"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
<!-- Hier hab ich das mal geändert -->
<td width="100%">
<table width="100%">
<tr>
<td> </td>
</tr>
</table></td>
</tr>
</table>
Hallo nochmal,
<!-- Hier hab ich das mal geändert -->
<td width="100%">
Das Attribut (und der dazugehörige Wert) muß da raus, den Rest so
lassen wie gepostet.
MfG, Stefan
jetzt mal genug der Theorie, hier ist mal
der Quellcode, vielleicht liegt es ja an
der Reihe darüber:
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="181" bgcolor="#000000" colspan="2"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
<td width="100%"><img src="../gfx/spacer.gif" width="1" height="1" border="0"></td>
</tr>
Es LIEGT an der Reihe darüber. Breitendefinitionen wirken nur in der ERSTEN Tabellenreihe. Alles drunter wird ignoriert. Dein Problem: Du definierst in der ersten Reihe mit colspan=2 zwei Spalten in einer. Da klappt das mit der Breitenangabe nicht (wie soll die denn aufgeteilt werden?).
Lösung: Die erste Zeile darf kein colspan haben, und jede Spalte muß eine definierte Breite kriegen (oder nur die linken Spalten). Anders gehts nicht.
- Sven Rautenberg
Hallo,
Lösung: Die erste Zeile darf kein colspan haben, und jede Spalte muß eine definierte Breite kriegen (oder nur die linken Spalten). Anders gehts nicht.
hab's gelöst bekommen, zwecks vollständigkeit einfach mal
den Code hier, vielleicht will ihn jemand irgendwann noch.
Des Rätsels Lösung liegt in der Festdefinition
der rechten Spalte - <td width="100%"> </td>
hilft nur begrenzt - die Lösung mit der 100%-Tabelle
innerhalb der Zelle ohne Angabe direkt bei der Zelle hilft gar nicht.
Die Lösung ist so einfach wie unlogisch:
Die rechte Zelle wird fest definiert - hierbei kann auch
ein viel zu hoher Wert angegeben werden:
<tr>
<td width="180"> </td>
<td width="1"><img src="../gfx/spacer.gif" width="1" height="1" border="0" alt="spacer"></td>
<td width="1200"> </td>
</tr>
rein von der Logik sollte es bei 1024*768 jetzt die Tabelle sprengen - tut es aber nicht. Zumindest nicht in NN 4.x, IE und Mozilla (NN 6).
Grüsse
Stefan