Tabelle(n-Zelle) - Breite nicht so wie sie soll

Status
Nicht offen für weitere Antworten.

Tim C.

Erfahrenes Mitglied
Und schon wieder ein Arbeitsbezogenes Problem.
Stark vereinfacht:
Ich habe ein Tabellenlayout mit drei Spalten links(menü), mitte(content) und rechts(aktuelle informationen) - und nein, es ist keine Clanpage, auch wenn das Layout stark danach aussieht *g* - Das Problem besteht jetzt darin, dass die gesamte Tabelle, die Seite voll ausfüllen soll, hat auch width="100%" drin, klappt also. Jetzt haben menü und infobox ebenfalls feste Werte für ihre Breite. Allerdings ignoriert er den Wert für die infobox, wenn ich in der Mitte z.B. nur ein Wort stehen habe. Dann ist die mittlere Zeile ~120px breit und die Infobox nimmt den Rest der Breite ein.
Wenn ich drüber nachdenke scheint es auch logisch zu sein, da er die Tabelle ja irgendwie von links nach rechts interpretiert, aber das muss doch irgendwie zu lösen sein ohne feste Werte für die mittlere Spalte zu vergeben, oder nicht ?
 
Hi!

Bin ein wenig verwirrt:
PHP:
<TABLE WIDTH=100% HEIGHT=100% BORDER=1 CELLPADDING=0 CELLSPACING=0>
<TR><TD WIDTH=120>links</TD>
	<TD>mitte</TD>
	<TD WIDTH=120>rechts</TD>
</TR></TABLE>
...läßt rechts nicht 120px breit sein, sondern größer?
 
Das mit dem Prozent und absoluten Abgaben mischen, ist nie so der Hit. Eigentlich ist es gar nicht erlaubt, in manchen Browsern funktioniert es trozdem (bosnders im IE :) ), aber in anderen eben nicht.
Eine Möglichkeit wäre, wenn du den Spalten breiten in Prozent vergibst, und dann entweder mit cellspacing oder padding die Abstände wiederherstellst.
Z.b. so:
PHP:
<table border="0" cellpadding="0" cellspacing="0" style="width:100%;">
<tr>
    <td style="width:15%;">bla bla, menu</td>
    <td style="width:70%;padding-left:10px;padding-right:10px;">
        bla bla, main
    </td>
    <td style="width:15%;">bla bla info</td>
</tr>
</table>
Eine weitere Möglichkeit, wenn du die breite des verfügbaren Platzes aus scree.availWidth ausliest, und die Tabelle entsprechend mit JavaScript anpasst. Allerdings hat das den Nachteil, dass die Größe des aktuellen Browserfensters nciht berücksichtigt, sondern nur die verfügbare Breite bei maximierten Fenster zurückgibt (Statusleiste, ICQ, etc werden aber berücksichtigt)
 
Ich denke ich werde es wie Nuinmundo meinte machen, mit dem auslesen der Breite für die Tabelle. Den <td>'s kann ich keine % Angaben in Sachen Breite zuteilen, da sich sonst das grafische Layout verzieht. Danke für die Hilfe.

So genug Mittagspause, auf ans Werk :)

//edit: Naja leider zieht er die Scrollbalken nicht ab, aber wenn man von der width 20px abzieht, dann funktionierts trotzdem und bei 1024x768 und 800x600 ists jetzt passabel...
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück