Reinhold: Margin:auto im IE8 nicht korrekt

Hallo
mit

  
<table style="margin-left:auto; margin-right:auto;">  
...  
</table>  

ist die Tabelle im IE7 und IE9 korrekt mittig, im IE8 aber linksbündig.
Ist das ein Fehler im IE?
Wie kann man diesen ggf. korrigieren?
Gruß
R.

  1. Om nah hoo pez nyeetz, Reinhold!

    ist die Tabelle im IE7 und IE9 korrekt mittig, im IE8 aber linksbündig.
    Ist das ein Fehler im IE?

    glaub ich nicht.

    Wie kann man diesen ggf. korrigieren?

    Es hängt sicher auch an anderen Sachen. Erster Anlaufpunkt ist die Doctypedeklaration. Ansonsten wäre ein Link auf die konrete Seite nicht schlecht.

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Hallo,

      die Sache stellt sich jetzt etwas anders da, IE8 war korekt und IE7 und IE9 nicht.
      Im folgenden Beispiel ist der Text in der ersten Ausgabezeile zentriert in Firefox und IE8 aber zu weit links in IE7 und IE9.
      Das Beispiel wurde sehr vereinfacht. In der Realität sind in den divs Texte und Bilder.
      Je nach Situation sollen bestimmte divs ausgeblendet werden (im Beispiel div.td4).
      Es ist auch tatsächlich nicht sichtbar, aber der Platz bleibt wohl reserviert, weswegen der Text nach links rutscht. Wie kann ich das korrigieren?

        
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
      <html>  
      <head>  
      <title>T E S T</title>  
      <style type="text/css">  
      div.table  
      {  
          display: table;  
          margin-left: auto;  
          margin-right: auto;  
      }  
        
      div.tr  
      {  
          display:table-row;  
      }  
        
      div.td1, div.td2, div.td3, div.td4  
      {  
          display:table-cell;  
      }  
        
       /* IE 7 */  
      * + html div.table {  
          text-align:center;  
      }  
        
      * + html div.td1, * + html div.td2, * + html div.td3, * + html div.td4 {  
      	display: inline;  
      	padding: 5px;  
      }  
        
        
      div.td4 {  
          display: none;  
          visibility: hidden;  
      }  
        
      #TestMitte {  
          text-align: center;  
      }  
        
      </style>  
        
      </head>  
      <body>  
          <div class="table">  
            <div class="tr">  
              <div class="td1">a</div>  
              <div class="td2">bbbbbb</div>  
              <div class="td3">c</div>  
              <div class="td4">ddddd</div>  
            </div>  
          </div>  
      <div id="TestMitte">  
      <h2>|   Mitte der Seite   |</h2>  
      </div>  
      </html>  
      
      
      1. Om nah hoo pez nyeetz, Reinhold!

        Ich habe mir dein Beispiel (noch) nicht angeschaut.

        Du willst eine Tabelle nachbauen?
        Warum?

        Handelt es sich um tabellarische Daten? Dann verwende eine Tabelle.

        Handelt es sich nicht um tabellarische Daten? Dann verwende keine Tabelle und bau auch keine nach. Oder verwende eine Tabelle <table role="presentation">.

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Hi Matthias,
          es handelt sich um einen (jetzt sehr vereinfachten) Vorschlag (aus dem Internet), Texte und Bilder nebeneinander und vertikal zentriert auszurichten.
          Ich (und meine Mitstreiter) würden nur ungern etwas anderes versuchen, da dies die bisher beste Variante ist, die wir gefunden haben. Bevor wir jetzt wieder neu anfangen würden wir diesen Effekt lieber in Kauf nehmen. Vielleicht gibt es einen Hack, den nur der IE9 versteht?
          Den IE7 kann man wahrscheinlich sowieso vergessen?
          Gruß
          Reinhold

          1. Om nah hoo pez nyeetz, Reinhold!

            Ich (und meine Mitstreiter) würden nur ungern etwas anderes versuchen, da dies die bisher beste Variante ist, die wir gefunden haben.

            Dann verwende die erste Variante (die mit der Tabelle), stell die Seite online und wir finden den Fehler :)

            Es macht keinen Sinn, Tabellen mit div-Elementen nachzubauen. Dadurch geht das letzte bisschen Semantik auch noch verloren.

            Matthias

            --
            1/z ist kein Blatt Papier.