Ich bin gerade dabei, einige IE8-Vorab-Tests durchzuführen, und es scheint, dass die alte Technik der Verwendung margin: 0 auto;
in IE8 nicht in allen Fällen funktioniert.
Das folgende HTML-Element enthält eine zentrierte Schaltfläche in FF3-, Opera-, Safari-, Chrome-, IE7- und IE8-Kompatibilität, jedoch NICHT im IE8-Standard:
<div style="height: 500px; width: 500px; background-color: Yellow;">
<input type="submit" style="display: block; margin: 0 auto;" />
</div>
(Als Workaround kann ich der Schaltfläche eine explizite Breite hinzufügen).
Die Frage ist also: Welche Browser sind richtig? Oder ist dies einer der Fälle, in denen das Verhalten undefiniert ist?
(Ich denke, dass alle Browser falsch sind - sollte die Schaltfläche nicht 100% breit sein, wenn es sich um "display: block" handelt?)
UPDATE: Ich bin ein Trottel. Da die Eingabe kein Element auf Blockebene ist, hätte ich sie einfach in einem div mit "text-align: center" enthalten sollen. Trotzdem möchte ich aus Neugier immer noch wissen, ob der Knopf im obigen Beispiel zentriert sein soll oder nicht.
FÜR DEN BOUNTY: Ich weiß, dass ich im Beispiel seltsame Dinge mache, und wie ich im Update hervorhob, hätte ich es einfach mittig ausrichten sollen. Für die Prämie möchte ich Verweise auf die Spezifikationen, die antworten:
Wenn ich "display: block" einstelle, sollte die Schaltfläche 100% breit sein? Oder ist das undefiniert?
Da die Anzeige blockiert ist, sollte "margin: 0 auto;" Taste zentrieren oder nicht oder undefiniert?