Có một số thẻ HTML trong HTML4 và HTML5 không yêu cầu sử dụng thẻ đóng cho HTML hợp lệ. Họ đang:
Lý do mà hầu hết các thẻ này không có thẻ kết thúc bắt buộc là trong hầu hết các trường hợp, thẻ kết thúc được ngụ ý bởi sự hiện diện của một thẻ khác trong tài liệu. Ví dụ: trong hầu hết các tài liệu web, một đoạn văn (được xác định bởi
) được theo sau bởi một đoạn khác hoặc bởi một phần tử cấp khối khác. Do đó, trình duyệt có thể suy luận rằng đoạn văn đã kết thúc vào đầu đoạn tiếp theo.
Các thẻ khác trong danh sách này không phải lúc nào cũng có nội dung, chẳng hạn như. Phần tử này có thể chứa các thẻ như nhưng không phải. Nếu một colgroup không chứa bất kỳ thẻ col nào, việc loại bỏ thẻ đóng sẽ không gây ra bất kỳ sự nhầm lẫn nào - trong hầu hết các trường hợp, số cột sẽ được xác định bởi thuộc tính span.
Để các thẻ kết thúc tăng tốc cho các trang của bạn
Một lý do chính đáng để bỏ các thẻ kết thúc cho các thành phần này là vì chúng thêm các ký tự thừa vào trang tải xuống và do đó làm chậm các trang. Nếu bạn đang tìm kiếm những điều cần làm để tăng tốc độ tải trang web của bạn, việc loại bỏ các thẻ đóng tùy chọn là một nơi tốt để bắt đầu. Đối với các tài liệu có nhiều đoạn văn hoặc ô bảng, điều này có thể tiết kiệm đáng kể.
Nhưng bỏ ra các thẻ đóng không phải là tất cả tốt
Có một số lý do quan trọng cần để lại trong thẻ đóng.
- Các thẻ đóng cung cấp cấu trúc.
- Khi bạn có một tài liệu HTML được mã hóa tối thiểu, nó có thể tải nhanh, nhưng nó có thể nhanh chóng trở thành một con gấu để duy trì. Việc thêm hàng hoặc cột bảng mới có thể khó khăn hơn nhiều để thực hiện nhanh chóng mà không có cấu trúc đầy đủ của thẻ bắt đầu và thẻ kết thúc. Và thường thì mọi người giải quyết vấn đề này bằng cách thụt lề để thêm các ký tự trở lại tài liệu, do đó phủ nhận lợi ích tốc độ bạn thu được từ việc loại bỏ chúng.
- CSS và JavaScript hook trên các phần tử đầy đủ.
- Trong khi hầu hết các trình duyệt có thể hiển thị thẻ (và kiểu) mà không có thẻ đóng của chúng, việc thiếu thẻ đóng có thể tạo một vị trí dứt khoát để đóng một kiểu hoặc hành động tập lệnh ít rõ ràng hơn. Nếu bạn đang làm việc với bố cục rất chính xác, bạn từ bỏ quyền kiểm soát độ chính xác khi bạn bỏ thẻ đóng — bạn sẽ cho phép trình duyệt quyết định nơi thẻ kết thúc. Đôi khi các trình duyệt đoán đúng và đôi khi không.
- Bỏ qua các thẻ đóng không phải lúc nào cũng được cho phép.
- Trong HTML5,
- có thể bỏ qua khi đoạn được theo sau ngay lập tức bằng khoảng 25 phần tử khác nhau. Nhưng có hơn 100 phần tử trong HTML5. Bạn sẽ ghi nhớ mọi tình huống mà nó hợp lệ để rời khỏi thẻ kết thúc? Nó có thể dễ dàng hơn để chỉ bao gồm nó.
XHTML yêu cầu tất cả các thẻ đóng
Lý do chính mà hầu hết mọi người sử dụng thẻ đóng với các yếu tố này là của XHTML. Khi bạn viết XHTML, các thẻ đóng luôn được yêu cầu. Nếu bạn có kế hoạch chuyển đổi tài liệu web của mình thành XHTML tại bất kỳ thời điểm nào trong tương lai, thì dễ nhất là bao gồm các thẻ đóng để tài liệu của bạn sẵn sàng.