@@BloodySword:
nuqneH
<?xml version="1.0" encoding="UTF-8"?>
Das versetzt IE 6 in den Quirksmodus. Lass die überflüssige XML-Deklaration weg!
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
Das passt nicht mit deinem Text „Hallo Welt“ zusammen. Ist die Seite deutsch oder englisch?
Im Quelltext habe ich jetzt kein <tbody>. Ist das dann nicht mehr Standardkonform?
Doch, das ist es. [XHTML10-DTD]:
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
Das heißt, 'table' darf sowohl 'tbody'-Elemente als auch 'tr'-Elemente als Kinder enthalten.
In HTML 4.01 [HTML401-DTD] gilt jedoch
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
'tr' ist niemals Kind von 'table'. Allerdings sind Start-Tag und End-Tag von 'tbody' optional:
<!ELEMENT TBODY O O (TR)+ -- table body -->
Der XHTML-Code
<table>
<tr>
<td>foo</td>
</tr>
</table>
erzeugt also bei Verarbeitung als HTML den Elementbaum
table
└tbody
└tr
└td
bei Verarbeitung als XML jedoch
table
└tr
└td
Soll der XHTML-Code bei Verarbeitung als HTML und als XML denselben Elementbaum erzeugen, dann ist 'tbody' zu verwenden:
<table>
<tbody>
<tr>
<td>foo</td>
</tr>
</tbody>
</table>
In CSS mache ich das so:
table.cpres > tbody > tr > td { /* ... */ }[/code]
Wozu Kindselektor, wenn es doch auch der Nachfahrenselektor tut?
Qapla'
--
Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)