Hallo Thoralf,
schade, funktioniert doch nicht richtig, Opera und Mozilla machen es, wie es sein soll. Die Seite validiert als korrektes HTML401Trans, das CSS validiert als CSS2. Dennoch spuckt der IE folgendes aus:
Ich finde das Verhalten nur logisch, schließlich weist du einer Zelle die komplette Breite zu, sodass für die anderen nichts übrig bleibt und sie zusammengequetscht werden. Daran dachte ich schon heute morgen, als ich deine vorläufige Lösung las.
Wieso löst du es noch komplett anders, ohne einzelne Tabellenzellen? Dir geht es doch lediglich um den optischen Effekt, also den Strich rechts neben dem Link. Und den kannst du auch mit CSS erreichen. Zwei Beispiele, das eine mit span, das andere mit einer Liste für die Links (bessere Auszeichnung):
#index {width:66%; margin-left:auto; margin-right:auto; margin-top:10%; color:#000; background-color:#eee; table-layout:fixed; empty-cells:show; border-collapse:collapse; border-spacing:0; border:1px solid black;}
td {border:1px solid black; padding:5px;}
#langnav {padding:0;}
#langnav span {display:block; float:left; border-right:1px solid black; padding:4px 10px;}
#langnav2 {padding:0;}
#langnav2 ul {margin:0; padding:0; list-style-type:none;}
#langnav2 li {display:block; float:left; border-right:1px solid black; margin:0; padding:4px 10px;}
<table cellspacing="0" cellpadding="0" id="index">
<tr>
<td id="langnav">
<span><img src="/grafiken/sprachen/de.gif" alt="[DE]" class="flag" /> Deutsch</span>
<span><img src="/grafiken/sprachen/uk.gif" alt="[UK]" class="flag" /><img src="/grafiken/sprachen/us.gif" alt="[US]" class="flag" /> English</span>
<span><img src="/grafiken/sprachen/fr.gif" alt="[FR]" class="flag" /> Français</span>
<span><img src="/grafiken/sprachen/ru.gif" alt="[RU]" class="flag" /> По-Русскй</span>
</td>
</tr>
<tr>
<td>Hier dann der eigentliche Inhalt, für meine Frage unerheblich.</td>
</tr>
<tr>
<td id="langnav2">
<ul>
<li><img src="/grafiken/sprachen/de.gif" alt="[DE]" class="flag" /> Deutsch</li>
<li><img src="/grafiken/sprachen/uk.gif" alt="[UK]" class="flag" /><img src="/grafiken/sprachen/us.gif" alt="[US]" class="flag" /> English</li>
<li><img src="/grafiken/sprachen/fr.gif" alt="[FR]" class="flag" /> Français</li>
<li><img src="/grafiken/sprachen/ru.gif" alt="[RU]" class="flag" /> По-Русскй</li>
</ul>
</td>
</tr>
<tr>
<td>Hier dann der eigentliche Inhalt, für meine Frage unerheblich.</td>
</tr>
</table>
Auf neueren Browsern sollte das funktionieren, ich konnte es mit dem MSIE nur in Version 6 testen.
Ferner solltest du nicht das th-Element benutzen, wenn es sich nicht wirklich um eine Spalten- bzw. Zeilenüberschrift handelt. Deine Tabelle ist eine reine Layouttabelle, da ist die Verwendung von th, thead, scope/headers/abbr etc. unsinnig und führt nur zur Verwirrungen in manchen Browsern.
Grüße,
Mathias
»In anderen Newsgroups werden Pseudonyme akzeptiert, es handelt sich dabei meist um Gruppen, in denen sensible Themen (z.B. psychische oder peinliche Erkrankungen o.ä.) behandelt werden.«