Jestem w trakcie przeprowadzania zaawansowanych testów IE8 i wygląda na to, że stara technika używania margin: 0 auto;
nie działa we wszystkich przypadkach w IE8.
Poniższy fragment kodu HTML zawiera wyśrodkowany przycisk w FF3, Opera, Safari, Chrome, IE7 i IE8, ale NIE w standardzie IE8:
<div style="height: 500px; width: 500px; background-color: Yellow;">
<input type="submit" style="display: block; margin: 0 auto;" />
</div>
(Aby obejść ten problem, mogę dodać wyraźną szerokość do przycisku).
Pytanie brzmi: które przeglądarki są poprawne? Czy jest to jeden z tych przypadków, w których zachowanie jest nieokreślone?
(Myślę, że wszystkie przeglądarki są nieprawidłowe - czy przycisk nie powinien mieć 100% szerokości, jeśli jest to „display: block”?)
UPDATE: Jestem głupkiem. Ponieważ dane wejściowe nie są elementem blokowym, powinienem po prostu zawrzeć je w elemencie div za pomocą „text-align: center”. Powiedziawszy to, ze względu na ciekawość, nadal chciałbym wiedzieć, czy przycisk powinien, czy nie powinien być wyśrodkowany w powyższym przykładzie.
DLA BOUNTY: Wiem, że robię dziwne rzeczy w tym przykładzie i jak wskazałem w aktualizacji, powinienem po prostu wyrównać to do środka. Jeśli chodzi o nagrodę, chciałbym odwołać się do specyfikacji, które odpowiadają:
Jeśli ustawię „display: block”, czy przycisk powinien mieć szerokość 100%? Czy jest to niezdefiniowane?
Ponieważ wyświetlacz jest blokowy, powinien "margin: 0 auto;" wyśrodkować przycisk, czy nie, czy undefined?