- Konu sahibi
- #1
HTML doctype, HTML belgesinin tarayıcıda no-quirks (standart) modda işlenmesini sağlayan bildirimdir. Belgenin HTML veya XML olarak yorumlanmasında içerik türü de önemlidir; doctype tek başına sunucunun yanlış içerik türünü düzeltmez. Güncel HTML belgelerinde kullanılması gereken biçim şudur:
Bu satır, HTML etiketlerinden önce ve belgenin en başında yer almalıdır. Doctype bir HTML etiketi değildir; tarayıcının belgeyi yorumlama biçimini etkileyen bir ön bildiridir. Modern HTML'de belirli bir sürüm numarası yazmak veya uzun DTD adresleri eklemek gerekmez.
Doctype'ın temel görevi, tarayıcının belgeyi standards mode içinde işlemesini sağlamaktır. Doctype eksik, hatalı veya eski bir biçimde kullanılırsa tarayıcı
Bu modlar özellikle CSS kutu modeli, genişlik-yükseklik hesapları ve eski tarayıcı davranışları nedeniyle beklenmeyen sonuçlara yol açabilir. Örneğin CSS ile bir kutunun genişliğini hesaplarken sayfa standart modda ve quirks modda farklı davranabilir. Bu nedenle doctype doğrudan görünür içerik üretmese de sayfanın temel çalışma koşullarını belirler.
Doctype, HTML kodunun hatasız olduğunu veya sayfanın arama sonuçlarında daha iyi sıralanacağını garanti etmez. Yalnızca tarayıcının belgeyi hangi ayrıştırma ve görüntüleme modunda ele alacağını etkiler.
Aşağıdaki, çalıştırılabilir en küçük tam HTML belgesidir:
Uygulamak için:
Doctype öncesinde sunucudan yanlışlıkla gelen görünür metin veya HTML öğeleri belge modunu etkileyebilir. Baştaki boşluk veya yorum gibi izin verilen durumları her zaman hata saymayın; pratikte ilk satıra doctype koymak, istenmeyen PHP çıktısı ve XML bildirimi eklememek en anlaşılır çözümdür. HTML dosyalarında en güvenli tercih, ilk satıra doğrudan
Karar vermeyi kolaylaştırmak için temel seçenekler şöyledir:
Eski HTML belgelerinde uzun
Evet. HTML sözdiziminde doctype bildirimi büyük-küçük harfe duyarlı değildir. Ancak projelerde tutarlı ve okunabilir olması için
Hayır. Doctype, tarayıcıya gönderilen tam HTML belgesinin başında bulunur. Aynı sayfaya eklenen menü, kart veya başka bir HTML parçasının içine yeniden yazılmaz.
Hayır. Doctype, tarayıcının belge modunu belirler. HTML doğrulaması ise kullanılan etiket ve özniteliklerin ilgili HTML kurallarına uygun olup olmadığını denetleyen ayrı bir işlemdir.
Kod:
<!doctype html>
Bu satır, HTML etiketlerinden önce ve belgenin en başında yer almalıdır. Doctype bir HTML etiketi değildir; tarayıcının belgeyi yorumlama biçimini etkileyen bir ön bildiridir. Modern HTML'de belirli bir sürüm numarası yazmak veya uzun DTD adresleri eklemek gerekmez.
Doctype ne işe yarar?
Doctype'ın temel görevi, tarayıcının belgeyi standards mode içinde işlemesini sağlamaktır. Doctype eksik, hatalı veya eski bir biçimde kullanılırsa tarayıcı
quirks mode ya da bazı durumlarda limited-quirks mode kullanabilir.Bu modlar özellikle CSS kutu modeli, genişlik-yükseklik hesapları ve eski tarayıcı davranışları nedeniyle beklenmeyen sonuçlara yol açabilir. Örneğin CSS ile bir kutunun genişliğini hesaplarken sayfa standart modda ve quirks modda farklı davranabilir. Bu nedenle doctype doğrudan görünür içerik üretmese de sayfanın temel çalışma koşullarını belirler.
Doctype, HTML kodunun hatasız olduğunu veya sayfanın arama sonuçlarında daha iyi sıralanacağını garanti etmez. Yalnızca tarayıcının belgeyi hangi ayrıştırma ve görüntüleme modunda ele alacağını etkiler.
Doğru kullanım örneği
Aşağıdaki, çalıştırılabilir en küçük tam HTML belgesidir:
Kod:
<!doctype html>
<html lang="tr">
<head>
<meta charset="utf-8">
<title>Deneme sayfası</title>
</head>
<body>
<h1>Merhaba</h1>
</body>
</html>
Uygulamak için:
- Yeni bir dosya oluşturun ve dosyayı
index.htmladıyla kaydedin. - Yukarıdaki kodu dosyanın ilk karakterinden başlayacak şekilde yerleştirin.
- Dosyayı tarayıcıda açın.
- Geliştirici araçlarında konsolu açıp
document.compatModeifadesini çalıştırın.
CSS1Compat değeridir. Bu değer, belgenin quirks mode dışında işlendiğini gösterir; no-quirks ile limited-quirks ayrımını tek başına yapmaz. BackCompat sonucu alırsanız doctype eksik, yanlış yazılmış veya belgenin başında başka içerik bulunduğu için tarayıcı quirks mode kullanıyor olabilir.Doctype öncesinde sunucudan yanlışlıkla gelen görünür metin veya HTML öğeleri belge modunu etkileyebilir. Baştaki boşluk veya yorum gibi izin verilen durumları her zaman hata saymayın; pratikte ilk satıra doctype koymak, istenmeyen PHP çıktısı ve XML bildirimi eklememek en anlaşılır çözümdür. HTML dosyalarında en güvenli tercih, ilk satıra doğrudan
<!doctype html> yazmaktır.Hangi doctype kullanılmalı?
Karar vermeyi kolaylaştırmak için temel seçenekler şöyledir:
| Biçim | Kullanım | Karar |
|---|---|---|
<!doctype html> | Modern HTML belgeleri | Önerilen tercih |
| HTML 4 veya XHTML için uzun DTD bildirimi | Eski projeler ve geçiş süreçleri | Yeni belgelerde kullanmayın |
| Doctype yok veya hatalı | Eksik belge yapısı | Düzeltilmeli |
PUBLIC, SYSTEM veya DTD adresleri görülebilir. Bunlar tarihsel belge türü tanımlarıdır. Yeni bir HTML dosyası oluşturuyorsanız eski bildirimi kopyalamak yerine kısa doctype biçimini kullanın. Büyük bir eski projede doctype değişikliği yapılacaksa CSS ve JavaScript davranışları ayrıca test edilmelidir; çünkü quirks mode'a göre yazılmış eski kodlar standart moda geçince farklı sonuç verebilir.Sık yapılan hatalar
- Doctype'ı
<html>etiketinin içine yazmak: Doctype,<html>etiketinden önce gelmelidir. - Sadece
htmlkelimesini yazmak: Geçerli bildirim<!doctype html>biçimindedir. - Yeni projede eski DTD URL'sini kullanmak: Gereksiz uzunluk ve uyumluluk riski oluşturur.
- Doctype'ın CSS sıfırlaması olduğunu sanmak: Doctype CSS kurallarını yazmaz; yalnızca tarayıcının belge modunu etkiler.
Sık sorulan sorular
Doctype büyük harfle yazılabilir mi?
Evet. HTML sözdiziminde doctype bildirimi büyük-küçük harfe duyarlı değildir. Ancak projelerde tutarlı ve okunabilir olması için
<!doctype html> biçimi tercih edilebilir.Her bileşene veya şablon parçasına doctype eklenir mi?
Hayır. Doctype, tarayıcıya gönderilen tam HTML belgesinin başında bulunur. Aynı sayfaya eklenen menü, kart veya başka bir HTML parçasının içine yeniden yazılmaz.
Doctype ile HTML doğrulaması aynı şey mi?
Hayır. Doctype, tarayıcının belge modunu belirler. HTML doğrulaması ise kullanılan etiket ve özniteliklerin ilgili HTML kurallarına uygun olup olmadığını denetleyen ayrı bir işlemdir.