Có phải Doctype cho các tài liệu HTML5


10

Gần đây tôi có một cuộc phỏng vấn xin việc và một trong những câu hỏi là "Có cần doctype cho các tài liệu HTML 5 không?". Tôi đã trả lời "không" nhưng có cảm giác rằng tôi có thể sai. Từ w3 có vẻ như nó hoàn toàn bắt buộc, nhưng nếu tôi gõ một HTML đơn giản như

<html>
    <body>
        <input type="color" disabled/>
    </body>
</html>

lưu nó dưới dạng HTML và thử mở trong Chrome - nó sẽ hoạt động hoàn hảo, với đầu vào màu mới (bị tắt). Đầu vào đó là HTML5 cũng như thuộc tính.

Vì vậy, câu hỏi là - tôi có cần chỉ định doctype hay không? Điều gì sẽ là câu trả lời chính xác cho cuộc phỏng vấn?


1
Tôi đoán bạn có thể lập luận rằng nếu không có Doctypeyếu tố thì đó không phải là tài liệu HTML5.
MetaFight

Bạn có thể nhập hello worldtrình soạn thảo văn bản, lưu dưới dạng HTML và nó sẽ hiển thị trong Chrome. Hóa ra Chrome (và nhiều trình duyệt khác) đưa công cụ vào cho bạn, ngay cả khi đó là "bắt buộc".
intcreator

Câu trả lời:


12

Câu trả lời đúng sẽ là "Nó phụ thuộc".

DOCTYPE là tùy chọn cho các tài liệu HTML5 theo cú pháp XHTML (nghĩa là các tài liệu XHTML5):

Các tài liệu XML có thể chứa DOCTYPE nếu muốn, nhưng điều này không bắt buộc phải tuân theo đặc điểm kỹ thuật này.

Cần có DOCTYPE cho các tài liệu HTML5 theo cú pháp HTML :

Tài liệu phải bao gồm các phần sau, theo thứ tự nhất định:

[Càng]

3. MỘT TÀI LIỆU.

Ngoại lệ


1
Đây là câu trả lời hoàn chỉnh nếu cần thiết, có thể hiểu được là do Nó cũng có thể được hiểu là đề cập đến hiệu quả thực tế. Trong trường hợp đó, câu trả lời sẽ là một chuỗi doctype là cần thiết trong cú pháp HTML để đưa các trình duyệt về chế độ tiêu chuẩn chế độ.
Jukka K. Korpela 5/2/2015

Tôi muốn câu trả lời này tốt hơn nếu bạn xây dựng khi tài liệu là html vs xhtml. Điều này có ý nghĩa gì với các trình duyệt - làm thế nào để họ quyết định đánh giá cú pháp nào?
tạm

6

Tôi cũng vậy, sẽ có câu trả lời "không" (sai, như nó xảy ra).

Tuy nhiên, http://www.w3.org/TR/html5/syntax.html#the-doctype nói:

8.1.1 DOCTYPE

Một DOCTYPE là một lời mở đầu cần thiết.

DOCTYPEs được yêu cầu vì lý do di sản. Khi bị bỏ qua, các trình duyệt có xu hướng sử dụng một chế độ kết xuất 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 tốt nhất theo các thông số kỹ thuật có liên quan.

BTW, GIYF


1
Phần trích dẫn chỉ áp dụng cho cú pháp HTML.
Jukka K. Korpela 5/2/2015

Và tiêu đề câu hỏi là "Có phải Doctype cho các tài liệu HTML5" (QED).
Mawg nói rằng phục hồi Monica

1
Đặc tả HTML5 rõ ràng và đáng chú ý nói rằng nó xác định hai cú pháp cho HTML5, một cú pháp dựa trên HTML gốc và một cú pháp hoàn toàn tuân thủ XML. Những gì bạn trích dẫn không trả lời câu hỏi, vì nó chỉ áp dụng cho một trong các cú pháp.
Jukka K. Korpela 6/2/2015

Ah! Cuối cùng tôi cũng hiểu. Cảm ơn bạn rất nhiều vì đã làm rõ.
Mawg nói rằng phục hồi Monica

2

Khi bạn muốn viết một tài liệu HTML5 tuân thủ tiêu chuẩn w3c, thì <!DOCTYPE html>bắt buộc phải có.

Nhưng trong thực tế, bạn không phải lúc nào cũng cần một loại tài liệu bởi vì bất kỳ trình duyệt web thông thường nào cũng sẽ hiển thị tài liệu của bạn bất kể. Tuy nhiên, một số trình duyệt sau đó sẽ sử dụng chế độ cũ, trong đó một số tính năng không được giải thích chính xác và thay vào đó, theo cách mà phiên bản trước đó của trình duyệt đã xử lý nó (hầu hết đều liên quan đến bố cục).

Câu trả lời nào phù hợp cho cuộc phỏng vấn này ? Điều đó phụ thuộc vào tâm lý của người đã phỏng vấn bạn. Trong một cuộc phỏng vấn xin việc, bạn đúng hay sai không quan trọng. Nó chỉ quan trọng những gì bạn gây ấn tượng với người phỏng vấn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.