Tôi đang trong quá trình thực hiện một số thử nghiệm IE8 nâng cao và có vẻ như kỹ thuật sử dụng cũ margin: 0 auto;
không hoạt động trong mọi trường hợp trong IE8.
Đoạn HTML sau cung cấp một nút căn giữa trong FF3, Opera, Safari, Chrome, IE7 và IE8, nhưng KHÔNG phải trong tiêu chuẩn IE8:
<div style="height: 500px; width: 500px; background-color: Yellow;">
<input type="submit" style="display: block; margin: 0 auto;" />
</div>
(Để làm việc xung quanh, tôi có thể thêm chiều rộng rõ ràng cho nút).
Vì vậy, câu hỏi đặt ra là: những trình duyệt nào là đúng? Hay đây là một trong những trường hợp không xác định được hành vi?
(Suy nghĩ của tôi là tất cả các trình duyệt đều không chính xác - nút không phải là 100% chiều rộng nếu nó là "display: block"?)
CẬP NHẬT: Tôi là một thằng ngu. Vì đầu vào không phải là một phần tử cấp khối, tôi nên chỉ chứa nó trong một div có "text-align: center". Phải nói rằng, vì lý do tò mò, tôi vẫn muốn biết liệu nút nên hay không nên đặt chính giữa trong ví dụ trên.
CHO CẬU BÉ: Tôi biết tôi đang làm những điều kỳ lạ trong ví dụ và như tôi đã chỉ ra trong bản cập nhật, tôi nên căn chỉnh nó ở giữa. Đối với tiền thưởng, tôi muốn tham khảo các thông số kỹ thuật trả lời:
Nếu tôi đặt "display: block", nút có phải là chiều rộng 100% không? Hay điều này là không xác định?
Vì màn hình là khối, nên "margin: 0 auto;" giữa nút, hay không, hoặc không xác định?