2014-04-22 12 views
7

Vì vậy, im làm việc trên một số dự án với html, và đôi khi tôi quên đặt <!DOCTYPE html>. Nó sẽ thực hiện bất kỳ thay đổi lớn hay đáng chú ý nào?Điều gì sẽ xảy ra nếu tôi không đặt <! DOCTYPE html> trong mã của mình? Nó sẽ thực hiện bất kỳ thay đổi lớn nào?

+1

Có thể, vâng. Bạn có thể kết thúc ở chế độ tương thích với trình duyệt. Làm thế nào điều này ảnh hưởng đến trang của bạn phụ thuộc vào những gì trên đó. – Brad

+2

Bạn sẽ kết thúc ở chế độ "quirks" đáng sợ - một nơi bị hỏng và không xác định. Xem [Chế độ Quirks và chế độ nghiêm ngặt] (http://www.quirksmode.org/css/quirksmode.html). Đối với trang HTML hiện đại, DOCTYPE [HTML5] phải luôn có mặt. – user2864740

Trả lời

12

Tuyên bố phải là điều đầu tiên trong tài liệu HTML của bạn, trước thẻ.

Tuyên bố không phải là thẻ HTML; nó là một chỉ dẫn cho trình duyệt web về phiên bản của HTML mà trang này được viết.

Rất nhiều IDE cho phép người dùng loại bỏ điều này và chỉ đơn giản là mặc định cho một kiểu HTML nhất định, nhưng bỏ nó ra mối đe dọa trong khả năng tương thích của trình duyệt và việc sử dụng các phiên bản HTML cũ hơn.

Ví dụ: tính năng mới & thẻ trong HTML5 như < article>, < footer>, < header>, < nav>, < phần> có thể không được hỗ trợ nếu DOCTYPE không được khai báo.

Ngoài ra, trình duyệt có thể quyết định tự động chuyển sang chế độ Quirks hoặc Chế độ nghiêm ngặt.

+0

Bài viết này có thể hữu ích, bổ sung phần cuối cùng của câu trả lời của bạn :): http://jkorpela.fi/quirks-mode.html – ivanleoncz

4

DOCTYPE là bắt buộc vì lý do cũ.

Khi bị bỏ qua, trình duyệt có xu hướng sử dụng chế độ hiển thị khác không tương thích với một số thông số kỹ thuật.

Bao gồm DOCTYPE trong tài liệu đảm bảo rằng trình duyệt thực hiện nỗ lực nỗ lực tốt nhất theo các thông số kỹ thuật có liên quan.

để biết thêm chi tiết: http://www.w3.org/TR/html5/syntax.html

0

Trong tài liệu HTML, trình duyệt sử dụng một DOCTYPE vào đầu của tài liệu để quyết định có nên xử lý nó trong chế độ quirks hoặc tiêu chuẩn chế độ.

<!DOCTYPE html> // Tells the browser that we are using HTML5. 

Nếu loại tài liệu không được đề cập, trình duyệt sẽ chuyển sang chế độ Quirks. Chế độ Quirks phụ thuộc vào phiên bản trình duyệt web, Nếu là phiên bản cũ thì điều này sẽ không hỗ trợ thẻ HTML5 (Ví dụ: thẻ tiêu đề, thẻ chân trang, thẻ phần, ...)

Để xem sự khác nhau giữa chế độ Quirks và Tiêu chuẩn chế độ truy cập: https://developer.mozilla.org/en-US/docs/Web/HTML/Quirks_Mode_and_Standards_Mode

Nếu bạn muốn thử cái này sử dụng mã dưới đây có và không có

<!DOCTYPE html> 

trong trình duyệt cũ của bạn như IE 8 hoặc sớm hơn

`<video controls> 
     <source src="../videos/big_buck_bunny.mp4" type="video/mp4"> 
     <p>Your browser does not support H.264/MP4.</p> 
    </video>`  

// Lưu ý: Trong đoạn mã trên src = "hãy cung cấp liên kết video mp4 cục bộ của bạn trong máy tính"

Các vấn đề liên quan