Spaltenbreite in Tabelle
Charly
- html
0 Vinzenz Mai0 Charly
0 Der Martin0 Charly
Hallo,
ich versuche eine kleine Tabelle zu erstellen. Dabei soll die 1. Zeile über die gesamte Breite gehen (colspan="2") und die erste Spalte der 2. Reihe soll nur 120 Pixel groß sein.
So sieht mein Code aus:
<table style="table-layout:fixed" border="1" cellpadding="2" font-size:9pt>
<tr>
<td colspan="2"><font style='font-size:14pt;font-weight=bold'> <a name="Sonderborg">Sonderborg<font style='font-size:9pt;font-weight=normal'>54° 53' 51.7'' N 9° 47' 21.3'' E</td></tr>
<tr>
<td style="width:120px"><img border="0" src="Bilder/kein_Bild.jpg" alt="kein Bild vorhanden" width=100 ></td>
<td>Blindtext.....</td></tr>
</table>
Im IE7 sehe ich aber immer eine Tabelle, in der die 2. Zeile in gleich große Abschnitte unterteilt ist. Verringere ich den Text in der 1. Zeile wird die 2. Zeile richtig angezeigt. Wo liegt der Fehler?
Vielen Dank für Eure Antworten.
Gruß
Charly
Hallo,
ich versuche eine kleine Tabelle zu erstellen. Dabei soll die 1. Zeile über die gesamte Breite gehen (colspan="2") und die erste Spalte der 2. Reihe soll nur 120 Pixel groß sein.
<table style="table-layout:fixed" border="1" cellpadding="2" font-size:9pt>
[...]
Im IE7 sehe ich aber immer eine Tabelle, in der die 2. Zeile in gleich große Abschnitte unterteilt ist. Verringere ich den Text in der 1. Zeile wird die 2. Zeile richtig angezeigt. Wo liegt der Fehler?
es fehlt eine Breitenangabe für die Tabelle [1] und Du solltest *beiden* Spalten eine Spaltenbreite vorgeben [2] (die mindestens so groß sein sollte wie die Breitenangabe für die Gesamttabelle [3]), siehe dazu auch diesen Archivbeitrag. Da Deine erste Zeile über beide Spalten geht, solltest Du die Spaltenbreite über col-Elemente festlegen.
Wenn eine Spalte ihre Breite automatisch bestimmt, sollte der Algorithmus zur automatischen Tabellenbreitenbestimmung greifen, sagt die Spezifikation.
Freundliche Grüße
Vinzenz
[1] das steht nicht so in der Spezifikation, sondern ist das
Ergebnis meiner Tests.
[2] das steht so in der Spezifikation.
[3] siehe [1].
Vielen Dank
Problem konnte gelöst werden.
cu
Charly
Hi,
ich versuche eine kleine Tabelle zu erstellen.
ich kann deine Kenntnisse nur schwer einschätzen, aber egal was du erstellst, versuche wenigstens, korrektes HTML zu schreiben. Fehler im HTML-Code *können* jederzeit auch für Darstellungsfehler verantwortlich sein, denn du kannst nie vorhersagen, was die interne Fehlerkorrektur der Browser aus deinem Quellcode macht.
<table style="table-layout:fixed" border="1" cellpadding="2" font-size:9pt>
Ein Attribut namens "font-size:9pt" existiert nicht. Meintest du vielleicht style="font-size:9pt"?
<td colspan="2"><font style='font-size:14pt;font-weight=bold'> <a name="Sonderborg">Sonderborg<font style='font-size:9pt;font-weight=normal'>54° 53' 51.7'' N 9° 47' 21.3'' E</td>
Hier beginnst du zweimal ein font-Element (das im übrigen zugunsten von CSS eliminiert werden sollte), schließt es aber nicht. Außerdem ist das CSS im style-Attribut fehlerhaft; der Wert wird vom Namen der Eigenschaft immer durch einen Doppelpunkt getrennt, nicht durch ein Gleichheitszeichen.
Außerdem benutzt du mal einfache, mal doppelte Anführungszeichen. Beides ist erlaubt - aber gibt es einen Grund für die Mischung?
<td style="width:120px"><img border="0" src="Bilder/kein_Bild.jpg" alt="kein Bild vorhanden" width=100 ></td>
Attributwerte sollten immer in Anführungszeichen geschrieben werden - in XHTML ist es Pflicht, in HTML darf man die Anführungszeichen weglassen, wenn der Attributwert nur Buchstaben und Ziffern enthält.
Darüber hinaus: Bist du sicher, dass du eine Tabelle verwenden möchtest? Was du beschreibst, hört sich für mich eher an, als würdest du eine Tabelle als Layoutgerüst verwenden. Das lässt sich aber mit CSS sicher eleganter lösen.
So long,
Martin
Hallo Martin,
vielen Dank für Deine wertvollen Tipps. Das eigentliche Problem konnte ich lösen und Deine Hinweise arbeite ich ein. Ich bin, wie Du ja sicher an den Fehlern, die ich noch mache, sehen kannst, ein blutiger Anfänger. Habe halt nur eine kleine private Homepage die ich lieber "per Hand" mit Inhalten fülle anstatt irgendeinen Code-Generator zu nehmen. Da lernt man ja nicht wirklich was. Allerdings hat das natürlich den Nachteil, das man vieles einfach nicht kennt. Und mit CSS kenne ich mich zum Beispiel gar nicht aus.
Aber ich lerne jeden Tag etwas hinzu.
Dir also Danke für Deinen konstruktiven Beitrag.
cu
Charly