Kata Pengantar:
Hari ini saya ditanya, "Adakah anda memahami dengan teliti tag saya terpegun seketika kerana saya mula-mula melihat cadangan untuk menggunakan XHTML Transitional DTD pada W3cschool, dan kemudiannya Saya sangat keliru dengan patuh menetapkan jenis dokumen HTML Dreamweaver kepada XHTML 1.0 Transitional secara lalai. Ia telah digunakan sebagai perkara yang sudah tentu sejak itu. Memang benar bahawa orang menjadi lebih malas apabila mereka semakin tua, dan banyak perkara secara tidak sedar telah diambil mudah. Oleh kerana saya telah ditanya, saya pergi untuk mencari maklumat, meringkaskannya, dan mengambilnya sebagai nota~~ Definisi
: The
pernyataan terletak dalam dokumen Kedudukan paling hadapan dalam , sebelum tag . Teg ini memberitahu penyemak imbas spesifikasi HTML atau XHTML yang digunakan oleh dokumen.
Teg ini boleh mengisytiharkan tiga jenis DTD, masing-masing mewakili versi ketat, versi peralihan dan versi HTML berasaskan rangka kerja. (Jika penanda dalam dokumen tidak mengikut DTD yang ditentukan oleh perisytiharan doctype, dokumen itu mungkin tidak lulus pengesahan kod dan mungkin tidak dipaparkan dengan betul dalam penyemak imbas.)
Penggunaan :
Penghuraian: Dalam pengisytiharan di atas, diisytiharkan bahawa elemen akar dokumen ialah html, yang ditakrifkan dalam pengecam awam sebagai "-//W3C//DTD XHTML 1.0 Strict/ / EN" ditakrifkan dalam DTD. Penyemak imbas akan mengetahui cara mencari DTD yang sepadan dengan pengecam awam ini. Jika ia tidak ditemui, penyemak imbas akan menggunakan URL mengikut pengecam awam sebagai lokasi untuk mencari DTD.
-: Menunjukkan bahawa nama organisasi tidak didaftarkan. Pasukan Petugas Kejuruteraan Internet (IETF) dan World Wide Web Consortium (W3C) bukan organisasi ISO berdaftar.
ialah lalai, menunjukkan bahawa nama organisasi telah didaftarkan.
DTD: Menentukan kelas teks awam, iaitu jenis objek yang dirujuk. Lalai ialah DTD.
HTML: Tentukan perihalan teks awam, nama deskriptif unik untuk teks awam yang dirujuk. Nombor versi boleh dilampirkan di bahagian belakang. Lalai ialah HTML.
URL: Menentukan lokasi objek yang dirujuk.
Tegas: Mengecualikan semua atribut dan elemen perwakilan yang ingin dihentikan secara berperingkat oleh pakar W3C.
Tiga jenis dokumen HTML:
HTML 4.01 menentukan tiga jenis dokumen: Strict, Transitional dan Frameset.
a) Jika anda memerlukan penanda yang bersih tanpa mengacaukan lapisan pembentangan, gunakan jenis HTML Strict DTD:
b) DTD Peralihan boleh mengandungi atribut persembahan dan elemen yang W3C jangkakan akan dipindahkan ke dalamnya helaian gaya . Jika pengguna menggunakan penyemak imbas yang tidak menyokong Helaian Gaya Cascading (CSS) dan anda perlu menggunakan ciri pemaparan HTML, gunakan jenis DTD Peralihan:
c ) Frameset DTD digunakan dengan dokumen berbingkai. DTD Frameset adalah sama dengan DTD Peralihan, kecuali elemen frameset menggantikan elemen badan:
Tiga jenis dokumen XML:
XHTML 1.0 menentukan tiga Jenis dokumen XML: Tegas, Peralihan dan Frameset.
a) Jika anda memerlukan penanda yang bersih tanpa kekacauan pembentangan, gunakan jenis XHTML Strict DTD:
b) DTD Peralihan boleh mengandungi atribut persembahan dan elemen yang W3C jangka akan dialihkan ke dalam lembaran gaya . Jika pengguna menggunakan penyemak imbas yang tidak menyokong Cascading Style Sheets (CSS) dan anda perlu menggunakan ciri pemaparan HTML, gunakan jenis DTD Peralihan:
c ) Frameset DTD digunakan dengan Dokumen berbingkai. DTD Frameset adalah sama dengan DTD Peralihan, kecuali elemen frameset menggantikan elemen badan:
Pilih jenis dokumen yang betul:
Untuk mendapatkan yang betul doctype declaration, Kuncinya adalah untuk menjadikan dtd sepadan dengan standard yang diikuti oleh dokumen.
Sebagai contoh, dengan mengandaikan bahawa dokumen itu mengikut piawaian ketat xhtml 1.0, pengisytiharan jenis dokumen dokumen harus merujuk dtd yang sepadan.
Sebaliknya, jika pengisytiharan doctype menentukan dtd xhtml, tetapi dokumen itu mengandungi penanda html gaya lama, ia adalah tidak sesuai, jika pengisytiharan doctype menentukan html dtd, tetapi dokumen itu mengandungi xhtml The 1.0 strict; tag juga tidak sesuai.
Jika tiada pengisytiharan jenis dokumen yang sah dinyatakan, kebanyakan penyemak imbas akan menggunakan dtd lalai terbina dalam. Dalam kes ini, penyemak imbas akan menggunakan dtd terbina dalam untuk cuba memaparkan teg yang anda tentukan (tetapi inilah yang berlaku apabila halaman ditulis dengan buruk).
Saya melihat JD.com, Taobao dan Blog Park, dan mereka semua menggunakan yang ini (saya selalu menggunakan yang ini):
Tetapi saya mendapati Baidu dan Google menggunakan "", jadi saya menyemak maklumat dengan teliti dan mendapati HTML5 juga menggunakan ini secara langsung, tetapi kerana HTML 5 tidak berdasarkan SGML, tidak perlu ubah suai rujukan DTD Make
, tetapi memerlukan doctype untuk mengawal kelakuan penyemak imbas (jadikan pelayar berkelakuan seperti yang sepatutnya).
Adalah disyorkan untuk menggunakan "" secara langsung pada masa hadapan Penggunaan akan menghidupkan mod keserasian standard penyemak imbas dalam mod keserasian standard, ia tidak dijamin serasi dengannya versi lain (sebelum IE6, Abaikan terus), Internet Explorer kekal serasi, tingkah laku pemaparan dokumen mungkin berbeza daripada Internet Explorer pada masa hadapan, tetapi sila berasa bebas untuk menggunakannya~~
Petua:
XHTML 1 ialah versi XML HTML 4.01, yang merupakan format yang tidak serasi ke hadapan.
Doctype dalam HTML 4.01 memerlukan rujukan kepada DTD kerana HTML 4.01 adalah berdasarkan SGML.
SGML menentukan format standard untuk membenamkan teg penerangan dalam dokumen dan menentukan kaedah standard untuk menerangkan struktur dokumen Format HTML yang digunakan pada WEB pada masa ini ialah dokumen SGML yang menggunakan set teg tetap.