Percanggahan IE8 dengan "margin: 0 auto;" untuk Elemen Input
Walaupun penggunaannya meluas untuk pemusatan elemen, "margin: 0 auto;" harta seolah-olah menunjukkan tingkah laku yang tidak konsisten dalam IE8. Dalam 测试 baru-baru ini, elemen input yang disertakan dalam elemen blok gagal memusatkan dirinya dalam mod standard IE8.
Kod HTML yang dimaksudkan adalah seperti berikut:
<div>
Pelayar Keserasian
Isu pemusatan elemen yang tidak betul dalam mod standard IE8 telah diperhatikan dalam pelbagai pelayar, termasuk:
Walau bagaimanapun, ia tidak terdapat dalam IE8 mod standard.
Isu Asas
Penyebab di sebalik gelagat ini ialah hakikat bahawa elemen input bukan elemen peringkat blok secara semulajadi. Apabila "paparan: blok" digunakan pada input, ia secara berkesan mengubahnya menjadi elemen peringkat blok, menjadikan "margin: 0 auto;" hartanah berkenaan.
Penyelesaian
Untuk menyelesaikan isu ini, pembangun boleh sama ada secara eksplisit menetapkan lebar untuk elemen input atau mengandunginya dalam elemen peringkat blok dan menggunakan " text-align: center" ke bekas.
Spesifikasi Rujukan
Mengikut spesifikasi CSS 2.1:
Oleh itu, gelagat penyemak imbas yang tidak memusatkan elemen input dengan "margin: 0 auto;" adalah tidak betul mengikut spesifikasi.
Nota: Menambah pengisytiharan DOCTYPE boleh menyelesaikan isu dalam beberapa kes. Pertimbangkan untuk menggunakan yang berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Atas ialah kandungan terperinci Mengapa \'margin: 0 auto;\' Pusat Elemen Input dalam Mod Standard IE8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!