Doctype HTML

Khai báo  được sử dụng để thông báo cho trình duyệt của khách truy cập trang web rằng tài liệu được hiển thị là tài liệu HTML. Mặc dù bản thân nó không phải là một phần tử HTML, nhưng mọi tài liệu HTML phải được khai báo bằng DOCTYPE để tuân thủ các tiêu chuẩn HTML. Để tìm hiểu rõ hơn về Doctype HTML, mời bạn đọc cùng eLib tham khảo bài viết dưới đây.

Doctype HTML

1. Doctype trong HTML

Trong các tài liệu HTML bạn đã từng thấy rằng có một khai báo <!DOCTYPE html> declaration trước thẻ <html>. Khai báo <!DOCTYPE html> không phải là một thẻ HTML. Nó được sử dụng để chỉ dẫn cho trình duyệt web về trang HTML.

Thực tế có rất nhiều kiểu của HTML như HTML 4.01 Strict, HTML 4.01 Transitional, HTML 4.01 Frameset, XHTML 1.0 Strict, XHTML 1.0 Transitional, XHTML 1.0 Frameset, XHTML 1.1 etc.

Việc khai báo <!DOCTYPE> để tham chiếu đến Document Type Declaration (DTD) trong HTML 4.01; bởi vì HTML 4.01 dựa trên SGML. Nhưng HTML 5 không dựa trên ngôn ngữ SGML.

DTD định nghĩa các nguyên tắc của các ngôn ngữ markup vì thế các trình duyệt sẽ nhận ra và hiển thị được nội dung chính xác.

Khai báo doctype để tham chiếu đến các version khác nhau của HTML. HTML 5 thì khai báo như sau:

<!DOCTYPE html>

Ví dụ về tài liệu HTML sử dụng khai báo doctype

<!DOCTYPE html> 
<html> 
<head> 
<title>This is the title</title> 
</head> 
<body> 
This is the content of the document.  
</body> 
</html> 

Chú ý: Khi viết HTML bạn nên khai báo doctype để trình duyệt web nhận ra được kiểu tài liệu của bạn và hiển thị chúng ra đúng như mong đợi.

2. Các loại khai báo DOCTYPE

2.1 HTML DOCTYPE

HTML 4 DOCTYPE:

HTML 4 gồm có các phiên bản HTML 4.0, HTML 4.01 Strict, HTML 4.01 Transition, HTML 4.01 Frameset) và mặc dù ít được sử dụng tuy nhiên đôi khi bạn vẫn thấy chúng tồn tại ở một số website. Cú pháp <DOCTYPE> của HTML 4 hơi phức tạp hơn so với HTML5.

Trong HTML 4.01, khai báo <! DOCTYPE> đề cập đến một DTD, vì HTML 4.01 được dựa trên SGML. DTD chỉ định các quy tắc cho ngôn ngữ đánh dấu, để các trình duyệt hiển thị nội dung chính xác.

HTML 4.01 Strict:

Với phiên bản HTML 4.01 Strict khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transition:

Với phiên bản HTML 4.01 Transition khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset:

Với phiên bản HTML 4.01 Frameset khai báo <DOCTYPE> như sau:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

2.2 XHTML DOCTYPE

XHTML 1.1:

Khai báo <DOCTYPE> của XHTML 1.1 có dạng như sau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

XHTML 1.0 Strict:

Khai báo <DOCTYPE> của XHTML 1.0 Strict có dạng như sau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional:

Khai báo <DOCTYPE> của XHTML 1.0 Transition có dạng như sau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset:

Khai báo <DOCTYPE> của XHTML 1.0 Frameset có dạng như sau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

3. Khác nhau giữa HTML và XHTML là gì?

Cấu trúc tài liệu:

  • DOCTPE XHTML là bắt buộc
  • Thuộc tính xmlns trong <html> là bắt buộc
  • <html>, <head>, <title> và <body> là bắt buộc

Các yếu tố XHTML:

  • Các phần tử XHTML phải được lồng đúng cách
  • Các phần tử XHTML phải luôn được đóng
  • Các phần tử XHTML phải được viết thường
  • Tài liệu XHTML phải có một phần tử gốc

Thuộc tính XHTML

  • Tên thuộc tính phải viết thường
  • Giá trị thuộc tính phải được trích dẫn
  • Giảm thiểu thuộc tính bị cấm

4. Cách chuyển đổi từ HTML sang XHTML

Để chuyển đổi từ HTML sang XHTML cần làm như sau:

  • Thêm một XHTML <! DOCTYPE> vào dòng đầu tiên của mỗi trang
  • Thêm một thuộc tính xmlns cho phần tử html của mỗi trang
  • Thay đổi tất cả các tên thành phần chữ thường
  • Đóng tất cả các yếu tố trống
  • Thay đổi tất cả tên thuộc tính thành chữ thường
  • Trích dẫn tất cả các giá trị thuộc tính

Trên đây là bài viết của eLib.VN về Doctype HTML. Hy vọng bài viết hữu ích cho bạn đọc.

Ngày:07/11/2020 Chia sẻ bởi:Denni

CÓ THỂ BẠN QUAN TÂM