Đây là một câu hỏi mà tôi đã trăn trở trong một thời gian. Cách thích hợp để đánh dấu các cặp tên / giá trị là gì?
Tôi thích phần tử <dl>, nhưng nó đưa ra một vấn đề: Không có cách nào để tách một cặp này khỏi một cặp khác - chúng không có vùng chứa duy nhất. Về mặt trực quan, mã thiếu định nghĩa. Tuy nhiên, về mặt ngữ nghĩa, tôi nghĩ đây là cách đánh dấu chính xác.
<dl>
<dt>Name</dt>
<dd>Value</dd>
<dt>Name</dt>
<dd>Value</dd>
</dl>
Trong đoạn mã trên, rất khó để bù đắp các cặp một cách trực quan một cách chính xác, cả trong mã và kết xuất. Ví dụ, nếu tôi muốn, nhưng có một đường viền xung quanh mỗi cặp, đó sẽ là một vấn đề.
Chúng tôi có thể chỉ vào các bảng. Có thể lập luận rằng các cặp tên-giá trị là dữ liệu dạng bảng. Điều đó có vẻ không chính xác đối với tôi, nhưng tôi thấy lý lẽ. Tuy nhiên, HTML không phân biệt tên với giá trị, ngoại trừ vị trí hoặc với việc bổ sung tên lớp.
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
Điều này có ý nghĩa hơn nhiều từ quan điểm trực quan, cả về mã và CSS. Việc tạo kiểu cho đường viền nói trên là tầm thường. Tuy nhiên, như đã đề cập ở trên, ngữ nghĩa tốt nhất là mờ.
Suy nghĩ, bình luận, câu hỏi?
Chỉnh sửa / Cập nhật
Có lẽ đây là điều tôi nên đề cập rõ ràng liên quan đến cấu trúc, nhưng một danh sách định nghĩa cũng có vấn đề là không nhóm các cặp về mặt ngữ nghĩa. Có thể dễ dàng hiểu được thứ tự và biên giới ngầm giữa a dd
và a dt
, nhưng tôi vẫn cảm thấy họ hơi khó chịu.