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?
Trả lời
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.
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
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
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"
- 1. Điều gì sẽ xảy ra nếu tôi ReleaseMutex() hai lần?
- 2. Điều gì sẽ xảy ra nếu tôi gán con trỏ hàm, thay đổi số tham số
- 3. Điều gì sẽ xảy ra nếu chúng tôi đặt giá trị không xác định?
- 4. Nếu không xóa biến ThreadLocal, Điều gì sẽ xảy ra?
- 5. Điều gì sẽ xảy ra nếu họ thay đổi PASSWORD_DEFAULT trong thư viện Mật khẩu PHP?
- 6. Điều gì sẽ xảy ra nếu các bước công việc của SQL Server được sửa đổi trong khi thực hiện
- 7. Điều gì sẽ xảy ra nếu một đối tượng thay đổi kích cỡ vùng chứa của chính nó?
- 8. Điều gì sẽ xảy ra nếu if_/3 có?
- 9. điều gì sẽ xảy ra nếu php.ini bị thiếu?
- 10. Điều gì sẽ xảy ra nếu tôi không có chi nhánh chính?
- 11. Điều gì sẽ xảy ra nếu tôi không đóng System.Diagnostics.Process trong ứng dụng giao diện điều khiển C# của tôi?
- 12. Nếu tôi sử dụng loại tài liệu HTML 5, điều gì sẽ xảy ra?
- 13. Điều gì sẽ xảy ra nếu tôi thả một cột MySQL mà không làm giảm chỉ mục của nó trước?
- 14. Điều gì sẽ xảy ra nếu thay đổi một thủ tục lưu sẵn trong khi nó đang chạy?
- 15. Điều gì sẽ xảy ra nếu đăng ký phân đoạn CS được thay đổi?
- 16. Điều gì sẽ xảy ra nếu tôi không đóng cơ sở dữ liệu trong Android?
- 17. Điều gì sẽ xảy ra trong Rust khi sử dụng "match" nếu không có gì khớp?
- 18. điều gì sẽ xảy ra nếu chúng tôi không giải quyết hoặc từ chối lời hứa
- 19. Android APK - trường nào là bắt buộc và điều gì sẽ xảy ra nếu thông tin đó thay đổi?
- 20. Điều gì sẽ xảy ra nếu có bất kỳ tình huống "vít lên vĩnh viễn" nào trong quá trình ký mã khóa/chứng chỉ mã khóa App Store?
- 21. Điều gì sẽ xảy ra nếu tôi gán một giá trị âm cho biến chưa ký?
- 22. Điều gì sẽ xảy ra khi tôi biên dịch?
- 23. Điều gì sẽ xảy ra nếu tôi không chỉ định targetFramework = "4.0"?
- 24. Điều gì sẽ xảy ra nếu bạn không sử dụng "điều này" trong một lớp học?
- 25. Điều gì sẽ xảy ra nếu các thẻ meta có mặt trong phần thân tài liệu?
- 26. điều gì sẽ xảy ra nếu tôi đang chờ một công việc đang chạy hoặc chạy?
- 27. Điều gì sẽ xảy ra nếu dịch vụ dữ liệu đám mây Parse không thành công?
- 28. C++ 11 tự động: điều gì sẽ xảy ra nếu nó được tham chiếu liên tục?
- 29. Điều gì sẽ xảy ra nếu phần đầu tiên của cấu trúc nếu là sai?
- 30. Điều gì sẽ xảy ra nếu không gian đĩa hết khi sử dụng NSURLSessionDownloadTask trong nền?
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
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