div
div là viết tắt của division (phân chia), đóng vai trò như một "vùng chứa" (container) vô hình trong HTML. Khác với các thẻ có ý nghĩa ngữ nghĩa như header hay footer, div hoàn toàn trung lập về mặt nội dung. Nó không cung cấp bất kỳ thông tin nào về bản chất của dữ liệu bên trong mà chỉ đơn thuần dùng để nhóm các phần tử lại với nhau nhằm mục đích định dạng bằng CSS hoặc thao tác bằng JavaScript.
Sự khác biệt giữa thẻ div và các thẻ ngữ nghĩa
Một sai lầm phổ biến đối với người mới học lập trình là sử dụng div cho mọi thành phần trên trang web (hiện tượng này thường được gọi là div soup). Trong khi div có thể được dùng để bao bọc bất cứ thứ gì, bạn nên ưu tiên các thẻ ngữ nghĩa (semantic tags) khi có thể để cải thiện khả năng truy cập và tối ưu hóa công cụ tìm kiếm (SEO).
Sử dụng div khi: Bạn chỉ cần một vùng chứa để căn chỉnh giao diện hoặc tạo bố cục mà không có ý nghĩa nội dung cụ thể.
Sử dụng section hoặc article khi: Phần nội dung đó có một chủ đề riêng biệt và có ý nghĩa độc lập.
Lưu ý về cách sử dụng trong thực tế
Trong tiếng Việt, chúng ta thường gọi đây là "thẻ div". Cần lưu ý rằng div là một phần tử khối (block-level element), nghĩa là nó sẽ tự động bắt đầu trên một dòng mới và chiếm toàn bộ chiều rộng có sẵn của vùng chứa cha.
❌ Sai: Sử dụng div để bao bọc một đoạn văn bản ngắn trong một dòng (trong trường hợp này, hãy dùng thẻ span).
✅ Đúng: Sử dụng div để nhóm một tiêu đề, một đoạn văn và một nút bấm vào trong một khung chung để dễ dàng di chuyển cả khối đó sang trái hoặc phải.
Đặc điểm kỹ thuật
Thẻ div không có thuộc tính mặc định nào làm thay đổi giao diện hiển thị. Mọi thay đổi về màu sắc, kích thước hay vị trí đều phải được thực hiện thông qua thuộc tính class hoặc id kết hợp với CSS.
Countable when referring to the specific HTML tags used in a codebase, such as having three divs inside a header.
Ý nghĩa
Một phần tử cấu trúc trong ngôn ngữ đánh dấu siêu văn bản dùng làm vùng chứa chung cho nội dung luồng
The developer wrapped the images in a div to center them.
Nhà phát triển đã bao bọc các hình ảnh trong một thẻ `div` để căn giữa chúng.