Torsten: Darstellung Tabellen IE7 versus IE6 und FireFox

Guten Tag,

ich habe derzeit mit einem Problem bezüglich der Darstellung von IE7
und IE6 bzw. Firefox zu kämpfen.

Nimmt man beispielsweise folgendes Code Fragment

  
<table style="width:100%;">  
 <tr>  
  <td align="right">  
   <table>  
    <tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>  
    <tr><td>A</td><td>B</td><td>C</td></tr>  
    <tr><td>D</td><td>E</td><td>F</td></tr>  
   </table>  
  </td>  
 </tr>  
</table>  

Natürlich ist dies nur ein Beispiel. Ziel ist es eine Tabelle in
einer anderen zu verschachteln, so dass diese innere Tabelle
am rechten Rand der äußeren Tabelle erscheint.
Der Internet Explorer 6 und der Firefox reagieren darauf
entsprechend, sowohl im Quirks Mode als auch im Standards
Compliance Mode und zeigen das gewünschte Ergebnis.

Der IE7 hingegen zeigt dieses Ergebnis nur im Quirks Mode. Im
Standard Compliance Mode richtet er auch die Inhalte der inneren
Tabelle rechtsbündig aus.

Hier sind 2 Beispiele, die dies verdeutlichen:

Quirks Mode:

  
<html>  
<head>  
<title>Darstellung im Quirksmode</title>  
</head>  
<body>  
 <table style="width:100%;">  
  <tr>  
   <td align="right">  
    <table>  
     <tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>  
     <tr><td>A</td><td>B</td><td>C</td></tr>  
     <tr><td>D</td><td>E</td><td>F</td></tr>  
    </table>  
   </td>  
  </tr>  
 </table>  
</body>  
</html>  

Standards Compliance Mode:

  
<?xml version="1.0" encoding="windows-1252"?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html>  
<head>  
<title>Darstellung im Standards Compliance Mode</title>  
</head>  
<body>  
 <table style="width:100%;">  
  <tr>  
   <td align="right">  
    <table>  
     <tr><td>Spalte 1</td><td>Spalte 2</td><td>Spalte 3</td></tr>  
     <tr><td>A</td><td>B</td><td>C</td></tr>  
     <tr><td>D</td><td>E</td><td>F</td></tr>  
    </table>  
   </td>  
  </tr>  
 </table>  
</body>  
</html>  

Nun zur Frage. Welcher Browser stellt das HTML-Konstrukt korrekt dar?
Ich habe bei den Empfehlungen von W3O schnell die Übersicht verloren.
Könnte mir jemand einen Link geben oder es erklären?

Ein Work Around wäre auch nicht schlecht :)

Vielen Dank im Vorraus!

  1. Hallo,

    Ein Work Around wäre auch nicht schlecht

    du hast doch per Wahl eines geeigneten doctype bereits das gewüschte
    Ergebnis? Ansonsten kannst du es ja noch mit Styleangaben versuchen.

    Grüsse

    Cyx23

    1. Vielen Dank erstmal,

      aber erst durch die Auswahl des doctypes und dem damit verbundenen
      "Standards Compliance Mode" stellt der IE7 alle Spalten der inneren
      Tabelle rechtsbündig dar. Das macht der Firefox und der IE6 nicht
      an dieser Stelle nicht.
      Nun interessiert mich einfach, ob das ein BUG vom IE7 ist
      oder ob der Firefox gegen die Empfehlungen vom W3O arbeitet!
      Damit ich weiß, welches Verhalten ich umgehen muss...

      1. Hallo,

        aber erst durch die Auswahl des doctypes und dem damit verbundenen
        "Standards Compliance Mode" stellt der IE7 alle Spalten der inneren
        Tabelle rechtsbündig dar.

        Mit "Quirks" stellt der IE 7  die Tabelle so dar wie es auch Firefox
        macht.

        Damit ich weiß, welches Verhalten ich umgehen muss...

        Erstmal muß nicht unbedingt etwas umgangen werden, sondern wie ich
        schon schrieb, "mit Styleangaben versuchen".

        Dabei muß es nicht automatisch auf CSS-Weichen hinauslaufen.

        Nun interessiert mich einfach, ob das ein BUG vom IE7 ist

        Bei entspr. "strengem" Doctype dürfte es richtiger sein, die
        vmtl. sowieso nicht zu verwendenen Attribute nicht zu befolgen.

        Bei transitional, td und align bin ich mir im Moment nicht sicher,
        vielleicht ist es für den IE lobenswert, dass er hier Eigenchaften
        vererbt.

        Da es sowieso verschiedene Unterschiede in der Darstellung der
        Browser gibt, die vmtl. nicht eindeutig als falsch oder richtig
        bezeichnet werden können, bedarf es der Festlegung per Styleangaben,
        die dann auch oft von den neueren Browsern gleich interpretiert
        werden.

        Grüsse

        Cyx23

  2. Hi Torsten!

    Standards Compliance Mode:
    <?xml version="1.0" encoding="windows-1252"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    Der IE6 schaltet in den Quirksmodus, wenn irgendetwas vor dem Doctype steht. Der IE7 hingegen akzeptiert immerhin die xml-Deklaration, ist also im standardkonformen Modus.

    mfG
    Benjamin

    --
    Selfcode: ie:} fl:{ br:> va:) ls:< fo:( rl:? n4:# ss:| de:] js:| ch:? sh:( mo:? zu:)
    "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
    (Terry Pratchett)
    1. Hups... Das habe ich übersehen!

      Danke, aber dann bleibt die Frage, welcher Hersteller den Standards
      Compliance Mode in diesem Beispiel besser umsetzt :)

      Zur Erklärung für mein Problem. Ich möchte den Empfehlungen so nahe wie
      Möglich kommen, um für zukünftige Browser Entwicklungen einen gangbaren
      Weg einschlagen zu können. Deshalb möchte ich einen zukunftsicheren
      Workaround verwenden.

      Leider konnte ich bei den Empfehlungen des W3O nichts finden, was diese
      Situation klärt!

      Zusammenfassend sei gesagt:
      -Firefox stellt nur die Tabelle an sich rechtsbündig dar
      -Microsoft stellt auch die Tabelleninhalte rechtsbündig dar

      1. Hi Torsten!

        Danke, aber dann bleibt die Frage, welcher Hersteller den Standards
        Compliance Mode in diesem Beispiel besser umsetzt :)

        Die Erfahrung zeigt eindeutig: "Microsoft nicht!"

        Zur Erklärung für mein Problem. Ich möchte den Empfehlungen so nahe wie
        Möglich kommen, um für zukünftige Browser Entwicklungen einen gangbaren
        Weg einschlagen zu können. Deshalb möchte ich einen zukunftsicheren
        Workaround verwenden.

        Als veraltet eingestufte Attribute wie "align" zur Formatierung zu verwenden hat nicht viel Zukunft. Willst du einen wirklich "zukunftssicheren" Weg einschlagen, dann verwende ausschließlich CSS zur Formatierung.

        mfG
        Benjamin

        --
        Selfcode: ie:} fl:{ br:> va:) ls:< fo:( rl:? n4:# ss:| de:] js:| ch:? sh:( mo:? zu:)
        "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
        (Terry Pratchett)
        1. verwende ausschließlich CSS zur Formatierung.
          mfG
          Benjamin

          Danke, das werde ich auch tun, wobei die Darstellung sich in den MS
          Browsern wieder vom Rest der Welt unterscheidet. Ich komm wohl nicht um
          einen CSS Hack herum!

          Vielen Dank,
          die Frage ist beantwortet :)