dynamische Tabelle
BlackBox
- html
Hallo,
ich hab's gestern schon mal versucht, aber da hat keiner so richtig verstanden was ich wollte, deswegen jetzt noch mal ne ganz genaue Problemschilderung!
Ich möchte eine Tabelle erzeugen die wie folgt aufgebaut sein sollte:
|---------------------------------------
| | | xx:xx | | | |
|ZELLE A | | xx:xx | | | |
| | | xx:xx | | | |
|--------| | xx:xx | | | |
| TEXT | | xx:xx | | | |
|--------| | xx:xx | | | |
| | | xx:xx | | | |
|ZELLE B | | xx:xx | | | |
| | | xx:xx | | | |
|---------------------------------------
hier mein bisheriger Code:
--------------------------------------------------------------
<table width="100%" height="*" border="1">
<tr>
<td height="*"> </td>
<td rowspan="3"> </td>
<td rowspan="3" align="center">12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br></td>
<td rowspan="3"> </td>
<td rowspan="3"> </td>
<td rowspan="3"> </td>
</tr>
<tr>
<td height="25" align="center">TEXT</td>
</tr>
<tr>
<td height="*"> </td>
</tr>
</table>
-------------------------------------------------------------
Ziel soll also sein, die Zelle mit dem "Text" vertikal genau in die Mitte zu bringen (so wie in der Skizze), das Problem dabei ist wenn meine tabelle eine feste höhe hätte wär das ja kein Problem, aber die "xx:xx" stehen für Uhrzeiten und die werden durch PHP dynamisch eingefügt. So dass ich nie weiß wieviele zeiten eingefügt werden und damit auch nicht wie groß die Tabelle bei der Ausgabe wird. Egal wie ich es bisher versucht habe es war immer die "Zelle B" ganz groß und die Telle A klein. --> ZELLE A und B sollen sich quasi gleichmäßig auf den Rest der Tabelle verteilen
Ich glaube jetzt ist mein Problem deutlicher rübergekommen, ich hoffe es kann mir jemand helfen.
Hi Unbekannter,
du verwechselst colspan und rowspan:
http://selfhtml.teamone.de/html/tabellen/zellen_verbinden.htm#spalten_zeilenweise
<table width="450" border="1" cellspacing="2" cellpadding="0">
<tr>
<td width="120">Zelle A</td>
<td rowspan="3" width="50"></td>
<td rowspan="3" width="100">xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx<br />
xx:xx</td>
<td rowspan="3" width="50"></td>
<td rowspan="3" width="50"></td>
<td rowspan="3" width="50"></td>
</tr><tr>
<td width="120">Primum Europaeorum vehiculum spatiale, cui nomen Mars-Express est.</td>
</tr><tr>
<td width="120">Zelle B</td>
</tr>
</table>
TomC
Hallo,
<table width="100%" height="*" border="1">
Ich nehme an, Du weisst, dass height="*" nicht gueltig ist.
Den Stern als Platzhalter gibt es in HTML nur bei Frameset-Definitionen.
Haben denn die Zellen A und B in Deiner Zeichnung ueberhaupt
Inhalt, oder sollen sie nur den Text vertikal "zentrieren"?
Vieviel Text ist "Text"?
Ist dieser Text immer genau gleich?
Ich gehe mal davon aus, dass er kurz und immer gleich ist.
Ansaetze/Ideen:
Zentrieren mit margin-x:auto, Leere Zellen mit weglassen.
Quellcode (aus dem hohlen Bauch, ungetestet!):
<table width="100%" height="*" border="1">
<tr>
<td class="text"><p>TEXT</p></td>
<td class="zeiten"><p>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45</p></td>
</tr>
</table>
table
{ width:100%; margin:0; border:0 none; padding:0;
height:auto; /* evtl. ueberfluessig */ }
td.text { width:15em; vertical-align:middle; }
td.text p { width:auto; margin-top:auto; margin-bottom:auto; }
td.zeiten { width:auto; text-align:center; }
td.zeiten p { width:4em; margin-left:auto; margin-right:auto; }
Gruesse,
Thomas
Hallo,
Oops... Statt
<table width="100%" height="*" border="1">
sollte es natuerlich nur noch heissen:
<table>
bzw. wenn Dir das Layout auf uralten Browser ohne CSS-Unterstuetzung
extrem wichtig ist:
<table width="100%" border="1">
Und da Du offenbar einen Tabellen-Rahmen willst, muss das
auch im CSS gesagt werden:
table
{ width:99%; margin:0; border:1px solid #666666; padding:0;
height:auto; /* evtl. ueberfluessig */ }
td { border:1px solid #666666; }
Der Rest bleibt gleich.
Gruesse,
Thomas