2009-10-15 37 views
16

Gần đây tôi đã tìm hiểu về các loại tài liệu và tôi tự hỏi sự khác biệt giữa <!DOCTYPE html> và một số khác là gì.Nếu tôi sử dụng loại tài liệu HTML 5, điều gì sẽ xảy ra?

Tôi biết <!DOCTYPE html> là loại tài liệu HTML5 và nó là thử nghiệm, nhưng tôi đã tự hỏi điều gì sẽ xảy ra nếu tôi sử dụng nó thay vì các loại tài liệu khác?

Cảm ơn trước !!!!

+6

này có thể chứa câu trả lời của bạn:. Http://stackoverflow.com/question/5629/any-reason-not-to-start-using-the-html-5-doctype – Greg

Trả lời

11

Về cơ bản điều sẽ xảy ra là bạn sẽ làm cho trang của mình được hiển thị ở "chế độ tiêu chuẩn".

Lý do duy nhất khiến bạn không nên sử dụng DOCTYPE mới là nếu bạn muốn sử dụng đánh dấu XHTML 1.0 và tuân thủ XHTML 1.0.

Nhược điểm của việc sử dụng HTML5 ngay bây giờ là thông số kỹ thuật có thể thay đổi. Điều này làm cho nó quan trọng đối với bạn để theo kịp với spec khi nó chủ động thay đổi.

Với điều đó đang được nói, tôi đã bắt đầu sử dụng cú pháp mới trong các trang của mình. Đồng thời, đảm bảo rằng trang của bạn sẽ là last for a very, very, long time.

Vì vậy, hãy tiếp tục, sử dụng nó (và tìm hiểu cách yêu đơn giản như thế nào là).

3

Lucas đóng đinh khía cạnh quan trọng nhất. Hãy để tôi giải thích điều này theo một cách hơi khác:

Trong trình duyệt, loại tài liệu này phục vụ chính xác một mục đích, để đặt chế độ hiển thị: Quirks, gần như tiêu chuẩn và chế độ tiêu chuẩn đầy đủ. Điều này được sử dụng để đơn giản cho đến khi MSIE 8 giới thiệu một chuyển đổi thứ hai, "chế độ tương thích" = MSIE7 lỗi và hạn chế được bảo tồn trên mục đích.

Một HTML5 DOCTYPE sẽ (thường) ghi đè thiết lập đó, và vì thế có phần mạnh mẽ hơn XHTML 1.x hoặc HTML 4,01 doctypes. (MSIE có thể ghi đè lên nó đôi khi, mặc dù.)

Hướng dẫn dứt khoát để DOCTYPE chuyển mạch và chế độ bố trí là tại địa chỉ: http://hsivonen.iki.fi/doctype/

Điều thứ hai mà sẽ xảy ra là bạn sẽ có được các trang của bạn được xác nhận theo các quy tắc HTML5. Một số yếu tố và thuộc tính được cho phép trong HTML 4 đã biến mất và một loạt các thuộc tính mới đã đến.

Chỉnh sửa: Xóa ví dụ. Trộn những gì được sử dụng để được gọi là nội tuyến và các yếu tố khối bây giờ là OK. (Trong đề xuất ban đầu nó không phải.)

Ngữ nghĩa và cú pháp cho HTML5 chủ yếu giống như trong HTML 4, vì vậy hầu hết các trang HTML 4 được viết tốt sẽ tiếp tục xác thực. Sự khác biệt chính là bạn mat bắt đầu sử dụng những thứ mới và vẫn hợp lệ.

+0

@Lars - chào mừng. Không cần mã hóa mã của bạn theo cách đó - bắt đầu tương tự với 4 dấu cách hoặc nhấp vào nút Mã (1010101). – Kobi

+0

@Kobi: Tôi đã sửa nó cho anh ấy. – Kredns

+0

không có gì sai với việc trộn các phần tử khối và nội tuyến dưới dạng anh chị em trong HTML5. Xem câu trả lời của bruce – Anish

3

HTML5 DOCTYPE là không thực nghiệm. Ian Hickson đã thử nghiệm một loạt các trình duyệt và nhận thấy rằng <!DOCTYPE html> hoạt động giống với chúng dưới dạng các loại tài liệu HTML 4 và XHTML 1 (tức là nó đã kích hoạt chế độ tiêu chuẩn).

Tuy nhiên, nếu bạn sử dụng, thì trình xác thực sẽ (xác định) xác thực trang của bạn như thể HTML5, có thể không phải là thứ bạn muốn nếu bạn đang viết HTML 4. (Ví dụ: some elements are getting dropped in HTML5. sẽ hiển thị dưới dạng lỗi nếu bạn đã xác thực trang của mình dưới dạng HTML5.)

0

Không có gì bất hợp pháp về

<div> 
    <p>foo</p> 
    <span>bar</span> 
</div> 

('mức khối' Các điều khoản là và 'inline' yếu tố này là lỗi thời trong HTML5)

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