Rumah >hujung hadapan web >tutorial css >Mengapa \'margin: 0 auto;\' Elemen Tengah dalam Mod Standard IE8?

Mengapa \'margin: 0 auto;\' Elemen Tengah dalam Mod Standard IE8?

Patricia Arquette
Patricia Arquetteasal
2024-11-27 09:28:101011semak imbas

Why Doesn't

Menyingkap Enigma "margin: 0 auto;" dalam Internet Explorer 8

Dalam bidang pembangunan web, anomali yang membingungkan telah muncul, menyebabkan pembangun bergelut dengan tingkah laku "margin: 0 auto;" dalam Internet Explorer 8 (IE8). Artikel ini menyelidiki kerumitan yang mengelilingi isu ini dan meneroka sebab asas di sebalik ketidakkonvensionalan IE8.

Inti masalah terletak pada pemusatan elemen peringkat blok (dalam kes ini, butang input) dalam div kontena. Dalam kebanyakan penyemak imbas, termasuk mod keserasian Firefox, Opera, Safari, Chrome, IE7 dan IE8, butang dipusatkan dengan mudah menggunakan "margin: 0 auto;". Walau bagaimanapun, dalam mod standard IE8, butang itu kekal di luar tengah.

Bar alat Pembangun Internet Explorer memberikan petunjuk penting kepada misteri itu. Setelah meneliti sumber HTML, ternyata bahawa IE8 tidak mempunyai pengisytiharan "!DOCTYPE", elemen penting yang mentakrifkan jenis dokumen HTML.

Ketiadaan perisytiharan "!DOCTYPE" mencetuskan mod "kebiasaan" IE8 , mod keserasian yang direka untuk mengurangkan isu dengan tapak web lama. Dalam mod kebiasaan, IE8 menggunakan gelagat bukan standard, termasuk tafsiran yang diubah suai bagi sifat CSS.

Untuk membetulkan isu pemusatan, menambah "!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ /EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""> kepada dokumen HTML mengarahkan IE8 untuk memasuki mod standard, di mana ia mematuhi spesifikasi CSS moden.

Dengan pengisytiharan "!DOCTYPE" yang disediakan, IE8 mentafsirkan "margin: 0 auto;" dengan tepat. seperti yang sepatutnya, memusatkan butang dalam bekas. Oleh itu, perbezaan dalam penjajaran butang antara penyemak imbas diselesaikan.

Kesimpulannya, tingkah laku misteri "margin: 0 auto;" dalam mod standard IE8 berpunca daripada kekurangan pengisytiharan "!DOCTYPE". Dengan menguatkuasakan mod standard melalui pengisytiharan ini, IE8 menyelaraskan dirinya dengan penyemak imbas lain, memastikan penggayaan yang konsisten dan boleh diramal merentas berbilang platform.

Atas ialah kandungan terperinci Mengapa \'margin: 0 auto;\' Elemen Tengah dalam Mod Standard IE8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn