Web sayfalarında kullanılan HTML'de (XHTML dahil), DOCTYPE, DOCTYPE'ın tam yazımına bağlı olarak birkaç tarayıcı modundan (tuhaf mod, standart mod, neredeyse standart mod) birini tetikleyen bir dizedir. Sayfanıza en uygun tarayıcı modunu seçmek için kullanmak istersiniz.
Resmi olarak, SGML ve XML'de, bir DOCTYPE bildirimi, biçimlendirme dilinin resmi sözdizimi kurallarını belirten Belge Türü Tanımı'na (DTD) yapılan bir başvurudur. Hiçbir tarayıcı DTD'leri hiçbir şey için kullanmamıştır ve hatta bunlara erişmemiştir. Bununla birlikte, HTML5 modu hariç , W3C İşaretleme Doğrulayıcı gibi SGML ve XML işaretleme doğrulayıcıları tarafından kullanılırlar . Bu nedenle, DOCTYPE seçimi, belgeye gönderilirse bir doğrulayıcının nasıl çalışacağını belirler. Bununla birlikte, doğrulayıcı çalışma modu kullanıcı arayüzünden de seçilebilir. (SGML ve XML işlemcileri DOCTYPE'leri farklı şekillerde de kullanabilirler, ancak sorunun görünüşe göre HTML bağlamı ve web tarayıcıları ve yakından ilişkili yazılımlarla sınırlı olması amaçlanmaktadır.)
DOCTYPE'lerin yetkili bir listesi yok. Her HTML belirtimi veya taslağı kendi DOCTYPE veya DOCTYPE'lerini tanımlar. Mod seçerken tarayıcılar tarafından tanınan DOCTYPE kümesi tarayıcıya göre değişir. Uygulamada, <DOCTYPE html>
HTML5'te tanımlanmış olandan başka bir DOCTYPE kullanmak için hiçbir neden yoktur , ancak HTML5 birkaç "eski DOCTYPE" de listelemektedir. Standartlar modunu (yeni sayfalar için önerilir) istiyorsanız bu DOCTYPE'ı kullanabilir ve tuhaflıklar modu (eski sayfalar için ihtiyacınız olabilir) istiyorsanız DOCTYPE'ı kullanamazsınız.
“Standartlar modu” genellikle bir tarayıcının HTML, CSS, DOM ve diğer özellikleri en iyi şekilde takip ettiği çalışma modu anlamına gelir. Genellikle tam uyum anlamına gelmez. "Tuhaflıklar modu" farklı tarayıcılarda farklıdır, ancak genellikle IE 5 gibi çok eski tarayıcıların davranışlarını taklit etme girişimi anlamına gelir. Amaç, eski sayfaların, eski tarayıcılar. Açıklamaya bakın Quirks Modunda ne olur? HTML5'te, Quirks Mode Living Standard adlı belgeye çok benzeyen oldukça farklı, daha sınırlı bir “tuhaflık modu” kavramına dikkat edin .
Tipik bir sorun, eleman genişliklerinin tuhaflıklar modunda ve standartlar modunda farklı hesaplanmasıdır. Bu, tuhaflıklar modunda çalışmak üzere tasarlanmış bir sayfa standart modda (veya tam tersi) görüntüleniyorsa, bir sayfanın düzeninin az çok değişebileceği veya tamamen bozulabileceği anlamına gelir.
Bu nedenle <!DOCTYPE html>
yeni sayfalar için kullanmalı ve eski sayfalar için kullandığınız DOCTYPE'ı (varsa) saklamalısınız.
Ancak, tuhaflıklar modu, bazı tarayıcılarda CSS'nin birçok yeni özelliğinin desteklenmediği anlamına gelir. Bu, eski bir sayfayı bazı CSS3 özelliğiyle geliştirmek istiyorsanız, standart modunu tetikleyen bir DOCTYPE'a geçmek gerekebileceği anlamına gelir. Bu durumda, standart modda çalışıp çalışmayacağını görmek için sayfayı gözden geçirip test etmeniz gerekir.