Với HTML, các yếu tố bắt buộc là: khai báo doctype, <html>, <head> và </body>. Tuy nhiên, bạn có thể ngạc nhiên khi biết rằng một tài liệu HTML hợp lệ có thể hoạt động без thẻ <head>. Khai báo doctype <!DOCTYPE html> luôn bắt buộc vì nó báo cho trình duyệt biết phiên bản HTML.
Ví dụ: HTML hợp lệ không có <head>
<!DOCTYPE html>
<html>
<title>Tiêu đề tài liệu</title>
<body>
<h1>Đây là tiêu đề 1</h1>
<p>Đây là văn bản demo.</p>
</body>
</html>
Giải thích:
- Trình duyệt tự động tạo
<head>ngầm và đưa<title>vào đó. - Các thẻ meta, link, style, script... nếu viết ngoài head cũng sẽ được trình duyệt chuyển vào head ảo.
- Đây là hành vi của HTML parser theo chuẩn HTML5 (specification).
Cảnh báo: Mặc dù hợp lệ, nhưng không khuyến khích bỏ qua <head> trong thực tế vì:
- Giảm tính đọc hiểu, bảo trì code.
- Khó quản lý meta tags, SEO, Open Graph, v.v.
- Một số tool/linter có thể báo cảnh báo.
Luôn viết cấu trúc đầy đủ <html><head>...</head><body>...</body></html> cho code chuyên nghiệp.