Khi viết tài liệu HTML5 phương pháp đúng là gì?
<!DOCTYPE html>
hoặc là
<!doctype html>
<!doctype html>
Khi viết tài liệu HTML5 phương pháp đúng là gì?
<!DOCTYPE html>
hoặc là
<!doctype html>
<!doctype html>
Câu trả lời:
Trong HTML, DOCTYPE không phân biệt chữ hoa chữ thường. Các DOCTYPE sau đây đều hợp lệ:
<!doctype html>
<!DOCTYPE html>
<!DOCTYPE HTML>
<!DoCtYpE hTmL>
Trong các tuần tự hóa XML (tức là XHTML), DOCTYPE không bắt buộc, nhưng nếu bạn sử dụng nó, DOCTYPE
nên viết hoa:
<!DOCTYPE html>
Xem phần tuần tự hóa XML của HTML5, còn gọi là 'XHTML5' :
Lưu ý rằng nếu bạn không viết hoa
DOCTYPE
trong tài liệu XHTML, trình phân tích cú pháp XML sẽ trả về lỗi cú pháp.Phần thứ hai có thể được viết bằng chữ thường (
html
), chữ hoa (HTML
) hoặc thậm chí trường hợp hỗn hợp (hTmL
) - nó vẫn sẽ hoạt động. Tuy nhiên, để tuân thủ Nguyên tắc đánh dấu Polyglot cho Tài liệu XHTML tương thích HTML , nó phải được viết bằng chữ thường.
<title/foo/
sẽ tương đương với <title>foo</title>
. Chỉ có một vài trình xác nhận HTML sử dụng SGML. Thông số HTML5 là cái đầu tiên làm rõ điều này: whatwg.org/specs/web-apps/civerse-work/multipage/ Kẻ
html
). Dưới đây là toàn bộ câu: Phần thứ hai có thể được viết bằng chữ thường ( html
), chữ hoa ( HTML
) hoặc thậm chí trường hợp hỗn hợp ( hTmL
) - nó vẫn sẽ hoạt động. Tuy nhiên, để tuân thủ Nguyên tắc đánh dấu Polyglot cho Tài liệu XHTML tương thích với HTML, nó phải được viết bằng chữ thường.
Nếu bất cứ ai vẫn còn thắc mắc trong năm 2014, xin vui lòng tham khảo ý kiến này:
HTML5
Thông số HTML5 của W3 - Tài liệu
Một DOCTYPE phải bao gồm các thành phần sau, theo thứ tự sau:
1. A string that is an ASCII case-insensitive match for the string "<!DOCTYPE".
...
Lưu ý: mặc dù được hiển thị trong tất cả các mũ, thông số kỹ thuật cho biết nó không nhạy cảm
XHTML5
This specification does not define any syntax-level requirements
beyond those defined for XML proper.
XML documents may contain a DOCTYPE if desired, but this is not required
to conform to this specification. This specification does not define
a public or system identifier, nor provide a formal DTD.
Nhìn vào thông số XML, nó liệt kê DOCTYPE theo mũ, nhưng tôi không thể tìm thấy bất cứ điều gì nói rằng 'tất cả các mũ' là bắt buộc (để so sánh, trong thông số HTML5 được liệt kê ở trên, nó được hiển thị trong ví dụ trong tất cả các mũ, nhưng thông số kỹ thuật nói rõ ràng là không phân biệt chữ hoa chữ thường ).
Đánh dấu Polyglot
W3 Polyglot Markup - Giới thiệu
Đôi khi nó có giá trị để có thể phục vụ các tài liệu HTML5 cũng là các tài liệu XML được hình thành tốt.
Đánh dấu polyglot sử dụng khai báo loại tài liệu (DOCTYPE) được chỉ định bởi mục 8.1.1 của [HTML5]. Ngoài ra, DOCTYPE tuân thủ các quy tắc sau:
* The string DOCTYPE is in uppercase letters.
Vì vậy, lưu ý rằng Đánh dấu Ployglot sử dụng loại tài liệu HTML5 thông thường, nhưng có bổ sung / thay đổi. Đối với cuộc thảo luận của chúng tôi, đáng chú ý nhất là DOCTYPE được khai báo trong tất cả các mũ .
Tổng kết
Xem phần HTML của W3 so với XHTML
[Ý kiến] Tôi sẽ không lo lắng quá nhiều về việc đáp ứng tuân thủ XML trừ khi bạn đặc biệt cố gắng cân nhắc về nó. Đối với hầu hết sự phát triển của máy khách và máy chủ dựa trên JS, JSON đã thay thế XML.
Do đó, tôi chỉ có thể thấy điều này thực sự áp dụng nếu bạn đang cố cập nhật hệ thống kế thừa dựa trên xhtml / xml hiện có để cùng tồn tại với chức năng HTML5 mới. Nếu đây là trường hợp sau đó nhìn vào thông số đánh dấu polyglot.
Theo thông số kỹ thuật mới nhất , bạn nên sử dụng một cái gì đó phù hợp với trường hợp không nhạy cảm <!DOCTYPE html>
. Vì vậy, trong khi các trình duyệt được yêu cầu hỗ trợ bất kỳ trường hợp nào bạn thích, thật hợp lý để suy ra đây <!DOCTYPE html>
là trường hợp chính tắc.
<!DOCTYPE html>
, do đó sẽ hợp lý khi suy ra rằng tác giả của thông số kỹ thuật có một ưu tiên nhỏ cho cách viết hoa cụ thể đó. Tôi sẽ sử dụng cùng cách viết hoa như thông số kỹ thuật, vì thật tuyệt khi những thứ này phù hợp, nhưng nếu bạn thích <!dOcTyPe
thì hãy là khách của tôi :)
Chữ hoa hoặc chữ thường là "chính xác". Tuy nhiên, nếu bạn sử dụng phông chữ web và quan tâm đến IE7, tôi khuyên bạn nên sử dụng <!DOCTYPE html>
do lỗi trong IE7 khi phông chữ web đôi khi không thành công nếu sử dụng <!doctype html>
(ví dụ: trong câu trả lời này ).
Đây là lý do tại sao tôi luôn viết hoa văn học.
Tiêu chuẩn cho HTML5 là các thẻ không phân biệt chữ hoa chữ thường.
http://www.w3schools.com/html5/tag_doctype.asp
Kỹ thuật khác: ( http://www.w3.org/TR/html5/syntax.html )
Một DOCTYPE phải bao gồm các thành phần sau, theo thứ tự sau:
<!DOCTYPE
.tag_doctype.asp
không hợp lệ (404) và câu hỏi này là về doctype
khai báo, không phải là thẻ ... Dù sao, kết luận là chính xác: trong HTML5, từ khóa doctype
có thể ở dạng chữ hoa, chữ thường hoặc chữ thường.
Loại câu hỏi ngụ ý chỉ có một câu trả lời đúng, cung cấp nhiều lựa chọn trong số hai câu hỏi và yêu cầu chúng tôi chọn một câu trả lời. Tôi sẽ đề nghị rằng đối với HTML5 cả <!DOCTYPE html>
và <!doctype html>
đều hợp lệ.
Vì vậy, một trình duyệt có khả năng HTML5 sẽ chấp nhận chữ thường và xử lý html đúng cách.
Các trình duyệt trước đây và không biết về HTML5, tôi đã nghe nói, ngay cả khi không có tài liệu, sẽ cố gắng xử lý html tốt nhất có thể. Và nếu họ không nhận ra loại chữ thường sẽ làm tương tự. Vì vậy, không có lý do gì để biến nó thành chữ hoa vì các trình duyệt đó sẽ không thể thực hiện đầy đủ bất kỳ khai báo HTML5 nào.
Khai báo doctype không phân biệt chữ hoa chữ thường và bất kỳ chuỗi ASCII nào khớp