Björn Höhrmann: margin:auto;

Beitrag lesen

hi

Das ist nicht ganz richtig, richtiger wäre

table { margin-left: auto; margin-right: auto }

zu definieren, ansonsten definierst du auch

table { margin-top: auto; margin-bottom: auto }

was du eventuell gar nicht willst.

nop, die CSS-Spezifikation sagt ausdrücklich, dass margin:auto; das gleiche ist wie margin-left:auto; margin-right:auto;

Die Empfehlung für CSS Level 2 sagt ausdrücklich, dass

margin:        auto;

dasselbe ist, wie

margin-right:  auto;
  margin-left:   auto;
  margin-top:    auto;
  margin-bottom: auto;

Nach Anwendung aller Stylesheets kann es natürlich sein, dass das anzugeben für den berechneten wert der Eigenschaft keine Auswirkung hat, davon ist aber nicht auszugehen. Vielleicht hat der Benutzer beschlossen, immer einen 2ex Abstand vor und nach einer Tabelle für sinnvoll zu erachten, dann definiert er

margin-top: 2ex;
  margin-bottom: 2ex;

mit

margin:        auto;

überschreibst du 2ex mit auto, mit

margin-right:  auto;
  margin-left:   auto;

tust du das nicht. Die Frage ist natürlich, was man im Endeffekt wünscht, aber pauschal (sprich, ohne sich Gedanken darüber zu machen) margin: auto zu verwenden, ist nicht empfehlenswert.

(was M$ sicherlich noch lange nicht davon abhält es bewußt (?) falsch zu machen - siehe diverse "how not to do" in der Spec, die im MSIE laufen)

Im WinIE6 und MacIE51 gibt es das Problem nicht.