Bạn đang tìm cách sắp xếp các mục trong form HTML một cách gọn gàng và chuyên nghiệp? Thẻ Fieldset trong HTML chính là công cụ bạn cần. Nó không chỉ giúp nhóm các phần tử liên quan, mà còn là chìa khóa để cải thiện trải nghiệm người dùng và SEO. Trong bài viết này, WiWeb sẽ cùng bạn tìm hiểu từ cú pháp cơ bản đến cách dùng CSS để biến những chiếc form đơn điệu trở nên đẹp mắt và hiện đại.
Thẻ Fieldset trong HTML là gì?
Định nghĩa và vai trò
Hãy tưởng tượng bạn đang điền một biểu mẫu đăng ký dài. Các mục như Họ và tên, Email, Số điện thoại thuộc nhóm thông tin cá nhân. Trong khi đó, Tên đường, Quận, Thành phố lại thuộc nhóm địa chỉ. Sẽ thật rối mắt nếu tất cả chúng nằm lộn xộn, phải không nào?
Thẻ Fieldset trong HTML được sinh ra để giải quyết vấn đề này. Nó hoạt động như một chiếc hộp, giúp bạn nhóm các phần tử trong Form HTML có liên quan lại với nhau. Điều này không chỉ giúp giao diện (UI) của bạn trông sạch sẽ, có tổ chức hơn mà còn cải thiện đáng kể trải nghiệm người dùng (UX).
Người dùng có thể dễ dàng hiểu được cấu trúc của form và điền thông tin nhanh chóng hơn.
Thẻ Legend trong HTML và mối quan hệ với Fieldset
Nếu <fieldset> là chiếc hộp, thì thẻ legend chính là cái nhãn dán trên chiếc hộp đó. Nó dùng để đặt tiêu đề hoặc mô tả cho nhóm phần tử bên trong <fieldset>.
Ví dụ, bạn có thể đặt <legend>Thông tin cá nhân</legend> cho nhóm các ô nhập tên, email. Vị trí mặc định của <legend> thường nằm đè lên đường viền trên cùng của fieldset, tạo ra một điểm nhấn rất trực quan.
Mối quan hệ giữa chúng là bất khả phân ly:
<fieldset>tạo ra một khung bao quanh để nhóm các thành phần.<legend>cung cấp ngữ cảnh, cho người dùng biết nhóm đó chứa thông tin gì.
Sử dụng cặp đôi này là một cách tuyệt vời để xây dựng cấu trúc Form HTML5 rõ ràng và chuyên nghiệp.

Cú pháp và thuộc tính quan trọng của Fieldset
Hiểu được vai trò rồi, giờ chúng ta cùng xem cách sử dụng thẻ này trong thực tế nhé. Cú pháp của nó rất đơn giản.
Cấu trúc code Fieldset cơ bản
Bạn chỉ cần đặt các thẻ <input>, <label>, <select>… liên quan vào bên trong cặp thẻ <fieldset>. Đừng quên thêm thẻ <legend> ở ngay dòng đầu tiên bên trong để đặt tiêu đề cho nhóm.
Đây là một ví dụ về form liên hệ:
<form action="/submit-form" method="post">
<fieldset>
<legend>Thông tin liên hệ</legend>
<label for="fname">Họ và tên:</label><br>
<input type="text" id="fname" name="fname"><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email"><br><br>
<label for="message">Nội dung:</label><br>
<textarea id="message" name="message"></textarea><br><br>
<input type="submit" value="Gửi đi">
</fieldset>
</form>
Tác dụng của thuộc tính disabled trong fieldset
Đây là một trong những thuộc tính fieldset mạnh mẽ nhất. Khi bạn thêm disabled vào thẻ <fieldset>, tất cả các phần tử form bên trong nó (như input, textarea, button) sẽ bị vô hiệu hóa cùng một lúc.
Điều này cực kỳ tiện lợi. Thay vì phải thêm thuộc tính disabled cho từng thẻ <input> riêng lẻ, bạn chỉ cần làm một lần duy nhất.
<fieldset disabled>
<legend>Thông tin cá nhân (Tạm khóa)</legend>
<label for="name">Tên:</label>
<input type="text" id="name" name="name">
<!-- Ô input này sẽ bị mờ đi và không thể nhập liệu -->
</fieldset>
Các thuộc tính hỗ trợ: form và name
Ngoài disabled, <fieldset> còn có hai thuộc tính khác cũng khá hữu ích:
form: Thuộc tính này cho phép bạn liên kết một<fieldset>với một<form>ngay cả khi nó không nằm bên trong thẻ<form>đó. Giá trị của thuộc tínhformphải làidcủa thẻ<form>mà bạn muốn liên kết. Cách này giúp bạn linh hoạt hơn trong việc bố trí layout HTML.name: Gán một cái tên cho nhóm<fieldset>. Tên này có thể được sử dụng để tham chiếu đến<fieldset>bằng JavaScript, giúp bạn dễ dàng thao tác với toàn bộ nhóm phần tử.

Tại sao nên dùng Fieldset thay vì thẻ Div?
Nhiều bạn mới học sẽ thắc mắc: Tại sao không dùng thẻ <div> rồi thêm CSS cho nó có viền là được? Câu trả lời nằm ở ý nghĩa và lợi ích mà bạn không nhìn thấy được bằng mắt thường.
Sự khác nhau giữa div và fieldset
Sự khác biệt cốt lõi nằm ở ngữ nghĩa (semantics):
<div>: Là một thẻ khối chung chung, không có ý nghĩa cụ thể. Nó chỉ đơn giản là một cái hộp để chứa nội dung và phục vụ cho mục đích tạo layout bằng CSS.<fieldset>: Là một thẻ có ngữ nghĩa rõ ràng. Nó nói cho trình duyệt và các công nghệ hỗ trợ (như trình đọc màn hình) biết rằng đây là một nhóm các trường dữ liệu có liên quan với nhau trong một biểu mẫu.
Nói cách khác, <div> chỉ để làm đẹp, còn <fieldset> vừa làm đẹp vừa mang ý nghĩa về cấu trúc.
Lợi ích về SEO và Accessibility
Chính vì sự khác biệt về ngữ nghĩa mà <fieldset> mang lại hai lợi ích to lớn:
- Accessibility (Khả năng tiếp cận): Đối với người dùng khiếm thị sử dụng trình đọc màn hình, khi họ di chuyển tới một ô nhập liệu trong
<fieldset>, công cụ sẽ đọc tiêu đề của thẻ<legend>trước. Ví dụ: “Thông tin cá nhân, Họ và tên, ô nhập liệu”. Điều này cung cấp ngữ cảnh quan trọng mà một thẻ<div>không thể làm được. - SEO: Mặc dù không phải là yếu tố xếp hạng trực tiếp, việc sử dụng HTML có ngữ nghĩa đúng (Semantic HTML) như
<fieldset>giúp các công cụ tìm kiếm hiểu rõ hơn về cấu trúc nội dung trên trang của bạn. Đây là một thực hành tốt, góp phần xây dựng một trang web chất lượng và thân thiện hơn.
Khả năng tương thích trình duyệt
Bạn hoàn toàn có thể yên tâm về vấn đề này. Thẻ <fieldset> và <legend> đã là một phần của chuẩn HTML từ rất lâu. Chúng được hỗ trợ bởi tất cả các trình duyệt hiện đại như Chrome, Firefox, Safari, Edge.
Vì vậy, không có lý do gì để không sử dụng chúng khi xây dựng form cả.

Hướng dẫn tạo Fieldset CSS đẹp và hiện đại
Phần thú vị nhất đây rồi! Mặc định, <fieldset> có giao diện khá cũ kỹ. Nhưng với một chút CSS, chúng ta có thể biến nó thành một tác phẩm nghệ thuật. Dưới đây là các kỹ thuật giúp bạn tạo ra những mẫu Fieldset CSS đẹp.
Làm sao để tạo khung bao quanh form chuyên nghiệp?
Để tùy chỉnh khung viền mặc định, bạn hãy sử dụng các thuộc tính CSS quen thuộc:
padding: Tạo khoảng trống bên trong, giúp các phần tử không bị dính sát vào viền.border: Thay đổi kiểu dáng, độ dày và màu sắc của đường viền.border-radius: Bo tròn các góc để tạo cảm giác mềm mại, hiện đại hơn.
fieldset {
padding: 20px; /* Tạo khoảng đệm 20px */
border: 1px solid #ccc; /* Viền xám nhạt, mỏng */
border-radius: 8px; /* Bo góc 8px */
background-color: #f9f9f9; /* Nền xám rất nhẹ */
}
Cách bỏ viền fieldset hoặc tùy biến border trong CSS
Đôi khi bạn chỉ muốn tận dụng lợi ích về ngữ nghĩa của <fieldset> mà không cần đường viền. Rất đơn giản!
Để ẩn hoàn toàn đường viền:
fieldset {
border: none; /* Hoặc border: 0; */
padding: 0;
}
Để tạo viền tùy biến (ví dụ: chỉ có viền trái):
Đây là một kỹ thuật hay để tạo điểm nhấn. Bạn có thể sử dụng thuộc tính fieldset border css để tạo ra các kiểu dáng độc đáo.
fieldset {
border: none;
border-left: 4px solid #007bff; /* Chỉ hiện viền trái màu xanh */
padding: 15px;
background-color: #e7f3ff;
}
Kỹ thuật Styling cho thẻ Legend ấn tượng
Thẻ <legend> cũng có thể được tùy biến rất linh hoạt. Bạn có thể thay đổi màu sắc, kích thước chữ, hoặc thậm chí là vị trí của nó.
legend {
font-size: 1.2em; /* Phóng to chữ tiêu đề */
font-weight: bold; /* In đậm chữ */
color: #333;
padding: 0 10px; /* Tạo khoảng trống hai bên cho đẹp */
background-color: #fff; /* Đặt nền trắng để tách biệt khỏi viền */
}
Tổng hợp các mẫu Fieldset UI/UX hiện đại
Kết hợp các kỹ thuật trên, bạn có thể tạo ra nhiều giao diện đẹp mắt:
- Kiểu thẻ (Card Style): Sử dụng
box-shadowđể tạo hiệu ứng đổ bóng, làm<fieldset>nổi lên như một tấm thẻ. - Kiểu tối giản (Minimalist): Bỏ viền, chỉ sử dụng
<legend>in đậm và một khoảng cách hợp lý giữa các nhóm. - Kiểu màu sắc: Dùng
border-colorvàbackground-colorkhác nhau cho mỗi<fieldset>để phân biệt các nhóm thông tin một cách trực quan.
Việc làm đẹp cho form không chỉ giúp trang web của bạn chuyên nghiệp hơn mà còn khiến người dùng cảm thấy thích thú hơn khi tương tác.

Kết luận
Qua bài viết này, WiWeb hy vọng bạn đã hiểu rõ sức mạnh của thẻ <fieldset> và <legend>. Chúng không chỉ là công cụ để vẽ một đường viền quanh form. Chúng là nền tảng cho một cấu trúc HTML có ngữ nghĩa, dễ tiếp cận và thân thiện với người dùng.
Đừng ngần ngại áp dụng các kỹ thuật CSS mà chúng tôi đã chia sẻ để làm cho biểu mẫu của bạn trở nên nổi bật và chuyên nghiệp hơn.
Bạn có ý tưởng CSS nào khác để làm đẹp cho thẻ fieldset không? Hãy chia sẻ với WiWeb trong phần bình luận nhé!
Và nếu bạn đang tìm kiếm một đơn vị thiết kế website chuyên nghiệp, đừng ngần ngại liên hệ với WiWeb để được tư vấn tận tình!


13/12/2025
12/12/2025
11/12/2025
10/12/2025
09/12/2025
08/12/2025