Tác giả: Zuzana K
Trong bài trước, tôi đã thảo luận về doctype – nó là gì và tại sao cần thiết. Bài này sẽ đi sâu vào sự khác biệt giữa ba chế độ render mà trình duyệt có thể chạy: chế độ tiêu chuẩn đầy đủ (full standards mode), chế độ gần tiêu chuẩn (almost standards mode) và chế độ quirks (quirks mode).
Hai bài viết này liên quan mật thiết, bạn nên đọc bài trước để nắm bối cảnh.
Câu Hỏi: Khác Biệt Giữa Full Standards, Almost Standards Và Quirks Mode?
Ba chế độ này đều liên quan đến việc triển khai sớm các tiêu chuẩn W3C.
Doctype được giới thiệu để báo cho trình duyệt biết loại tài liệu nào đang được render. Nếu nhà phát triển không khai báo doctype trong HTML, trình duyệt không biết xử lý tài liệu như thế nào.
Để an toàn, trình duyệt sẽ render tài liệu tương thích với các trình duyệt cũ (Navigator 4, IE 4 và 5) – đó là quirks mode.
Vì các trình duyệt cũ sống trong "thế giới CSS tồi tệ", nên nhiều kiểu CSS của bạn sẽ không được áp dụng, trang web sẽ không hiển thị như mong đợi.
Tất nhiên, một số dev có thể cố意 bỏ doctype để render ở quirks mode vì lý do riêng (ví dụ: muốn xem web trông như năm 1998 – lý do "tuyệt vời"! 😄).
Sau khi hiểu quirks mode, thì full standards mode và almost standards mode là gì?
Almost standards mode còn gọi là limited quirks mode. Nội dung render ở chế độ này gần như tuân thủ hoàn toàn full standards mode. Gần như – từ buồn nhất trên đời.
Từ buồn nhất
trên thế giới rộng lớn
là từ "gần như".
Anh gần như yêu em.
Em gần như xứng đáng với anh.
Anh gần như ngăn cản em.
Em gần như chờ đợi.
Anh gần như sống.
Họ gần như thành đôi.
— Nikita Gill
Thôi, tiếp tục nào. Almost standards mode render tài liệu với chỉ một vài quirks liên quan đến kích thước dọc của ô bảng (table cells).
Ngược lại, full standards mode render theo mới nhất HTML và CSS spec. Dù trình duyệt hiện đại vẫn có chút khác biệt khi render, ta có thể dùng Normalize.css hoặc Reset CSS để giảm thiểu sự không nhất quán (và giữ cho mình sự bình yên).
Vì vậy, nếu web của bạn có quirks, có lẽ do code của bạn, không phải trình duyệt. Xin lỗi nhé! 😅
Tóm lại: nếu ai hỏi về ba chế độ này, hãy nhớ đến trình duyệt cũ, CSS vỡ, và từ "gần như" buồn bã kia.
Muốn đọc thêm về kích hoạt các chế độ trình duyệt, hãy xem bài tổng quan tuyệt vời của Henri Sivonen. Danh sách quirks thô có trên MDN.
Bài sau tôi sẽ so sánh HTML và XHTML. Hy vọng bạn đồng hành cùng chủ đề thú vị này! Hẹn gặp lại!
Nếu bạn thấy bài viết hữu ích, hãy để lại bình luận hoặc clap ủng hộ. Cảm ơn!
Học lập trình miễn phí. Chương trình open source của freeCodeCamp đã giúp hơn 40.000 người tìm việc developer. Bắt đầu ngay