Đúng là thông số kỹ thuật HTML cho phép bỏ qua một số thẻ nhất định trong một số trường hợp nhất định, nhưng nói chung làm như vậy là không khôn ngoan.
Nó có hai hiệu ứng - nó làm cho thông số kỹ thuật phức tạp hơn, do đó khiến các tác giả trình duyệt khó viết các triển khai chính xác hơn (như đã chứng minh bởi IE đã hiểu sai).
Điều này làm cho khả năng lỗi trình duyệt trong các phần này của thông số kỹ thuật cao. Là một tác giả trang web, bạn có thể tránh được vấn đề bằng cách bao gồm các thẻ này - vì vậy trong khi thông số kỹ thuật không nói bạn phải làm như vậy, làm như vậy sẽ giảm nguy cơ xảy ra sự cố, đó là thực hành kỹ thuật tốt.
Hơn nữa, thông số WG HTML 5.1 mới nhất hiện đang nói (hãy nhớ rằng đây là một công việc đang tiến triển và có thể sẽ thay đổi).
Thẻ bắt đầu của phần tử cơ thể có thể bị bỏ qua nếu phần tử trống hoặc nếu điều đầu tiên bên trong phần tử cơ thể không phải là ký tự khoảng trắng hoặc nhận xét, ngoại trừ nếu điều đầu tiên bên trong phần tử cơ thể là meta, liên kết, tập lệnh, kiểu hoặc phần tử mẫu.
http://www.w3.org/html/wg/dcraft/html/master/sections.html#the-body-element
Đây là một chút tinh tế. Bạn có thể bỏ qua phần thân và phần đầu, và trình duyệt sau đó sẽ suy ra vị trí các phần tử đó sẽ được chèn vào. Điều này có nguy cơ không rõ ràng, có thể gây nhầm lẫn.
Vậy đây
<html>
<h1>hello</h1>
<script ... >
...
dẫn đến yếu tố kịch bản là con của yếu tố cơ thể, nhưng điều này
<html>
<script ... >
<h1>hello</h1>
sẽ dẫn đến thẻ script là một phần tử con của phần tử head.
Bạn có thể rõ ràng bằng cách làm điều này
<html>
<body>
<script ... >
<h1>hello</h1>
và sau đó, bất cứ khi nào bạn có đầu tiên, tập lệnh hoặc h1, cả hai sẽ xuất hiện trong phần tử cơ thể. Đây là những thứ dễ bị bỏ qua trong khi tái cấu trúc và gỡ lỗi mã. (ví dụ: bạn có JS đang tìm phần tử script thứ 1 trong phần thân - trong đoạn mã thứ hai, nó sẽ ngừng hoạt động).
Theo nguyên tắc chung, rõ ràng về mọi thứ luôn tốt hơn là để mọi thứ mở ra để giải thích. Về vấn đề này, XHTML tốt hơn bởi vì nó buộc bạn phải hoàn toàn rõ ràng về cấu trúc phần tử trong mã của bạn, điều này làm cho nó đơn giản hơn và do đó ít bị giải thích sai.
Vì vậy, có, bạn có thể bỏ qua chúng và có giá trị kỹ thuật, nhưng nói chung là không khôn ngoan để làm như vậy.
title
thẻ. Đây là tài liệu nhỏ nhất mà nó cho là hợp lệ:<!DOCTYPE html> <title>A</title>