Trong HTML (bao gồm XHTML) như được sử dụng trên các trang web, DOCTYPE là một chuỗi kích hoạt một trong một vài chế độ trình duyệt (chế độ quirks, chế độ tiêu chuẩn, chế độ gần như tiêu chuẩn), tùy thuộc vào cách viết chính xác của DOCTYPE. Bạn muốn sử dụng nó để chọn chế độ trình duyệt phù hợp nhất với trang của bạn.
Chính thức, trong SGML và XML, một khai báo DOCTYPE là một tham chiếu đến Định nghĩa loại tài liệu (DTD), trong đó chỉ định các quy tắc cú pháp chính thức của ngôn ngữ đánh dấu. Không có trình duyệt nào đã từng sử dụng DTD cho bất cứ điều gì hoặc thậm chí truy cập chúng. Tuy nhiên, chúng được sử dụng bởi các trình xác thực đánh dấu SGML và XML như Trình xác thực đánh dấu W3C , ngoại trừ trong chế độ HTML5. Do đó, sự lựa chọn của DOCTYPE xác định cách thức trình xác nhận hoạt động nếu tài liệu được gửi tới nó. Tuy nhiên, chế độ hoạt động của trình xác nhận cũng có thể được chọn trong giao diện người dùng của nó. (Bộ xử lý SGML và XML cũng có thể sử dụng DOCTYPE theo nhiều cách khác nhau, nhưng câu hỏi rõ ràng là bị giới hạn trong bối cảnh HTML và các trình duyệt web và phần mềm liên quan chặt chẽ.)
Không có danh sách chính thức của DOCTYPEs. Mỗi đặc tả hoặc bản nháp HTML xác định DOCTYPE hoặc DOCTYPE của riêng nó. Tập hợp các DOCTYPE được trình duyệt nhận dạng khi chọn chế độ khác nhau tùy theo trình duyệt. Trong thực tế, không có lý do nào để sử dụng DOCTYPE ngoài <DOCTYPE html>
định nghĩa trong HTML5 , mặc dù HTML5 cũng liệt kê một vài DOCTYPEs kế thừa Bạn có thể sử dụng DOCTYPE đó nếu bạn muốn chế độ tiêu chuẩn (được khuyến nghị cho các trang mới) và không sử dụng DOCTYPE nếu bạn muốn chế độ quirks (mà bạn có thể cần cho các trang kế thừa).
Chế độ Tiêu chuẩn của Phần Lan nói chung có nghĩa là chế độ hoạt động trong đó trình duyệt tuân theo HTML, CSS, DOM và các thông số kỹ thuật khác tốt nhất có thể. Nó thường không có nghĩa là phù hợp đầy đủ. Chế độ của Quirks là khác nhau ở các trình duyệt khác nhau, nhưng nhìn chung nó có nghĩa là một nỗ lực bắt chước hành vi của các trình duyệt rất cũ như IE 5. Mục đích là để giữ cho các trang cũ hoạt động, với giả định rằng chúng có thể dựa vào các tính năng và lỗi trong trình duyệt cũ. Xem mô tả Điều gì xảy ra trong Chế độ Quirks? Lưu ý rằng có một khái niệm khá khác biệt, hạn chế hơn về chế độ quirks của chế độ Hồi giáo trong HTML5, gần giống với tài liệu có tên là Quirks Mode Living Standard .
Một vấn đề điển hình là độ rộng phần tử được tính khác nhau trong chế độ quirks và trong chế độ tiêu chuẩn. Điều này có nghĩa là bố cục của một trang có thể ít nhiều thay đổi hoặc thậm chí bị rối tung hoàn toàn, nếu một trang được thiết kế để hoạt động ở chế độ quirks được xem ở chế độ tiêu chuẩn (hoặc ngược lại).
Vì vậy, bạn nên sử dụng <!DOCTYPE html>
cho các trang mới và giữ bất kỳ DOCTYPE nào (nếu có) mà bạn đang sử dụng cho các trang cũ.
Tuy nhiên, chế độ quirks có nghĩa là, trong một số trình duyệt, nhiều tính năng mới của CSS không được hỗ trợ. Điều này có nghĩa là nếu bạn muốn cải thiện một trang cũ bằng một số tính năng CSS3, có thể cần phải chuyển sang DOCTYPE kích hoạt chế độ tiêu chuẩn. Trong trường hợp như vậy, bạn cần xem lại và kiểm tra trang để xem nó có chạy ở chế độ tiêu chuẩn hay không.