Це питання, з яким я боровся якийсь час. Який правильний спосіб розмітити пари імена / значення?
Мені подобається елемент <dl>, але він створює проблему: немає можливості відокремити одну пару від іншої - у них немає унікального контейнера. Візуально код не має визначення. Однак семантично я думаю, що це правильна розмітка.
<dl>
<dt>Name</dt>
<dd>Value</dd>
<dt>Name</dt>
<dd>Value</dd>
</dl>
У наведеному вище коді важко візуально правильно компенсувати пари, як у коді, так і в отриманні. Якби я хотів, наприклад, але межу навколо кожної пари, це було б проблемою.
Ми можемо вказати на таблиці. Можна стверджувати, що пари імені-значення є табличними даними. Мені це здається неправильним, але я бачу аргумент. Однак HTML не диференціює ім'я від значення, крім позиції або додавання назв класів.
<table>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
<tr>
<td>Name</td>
<td>Value</td>
</tr>
</table>
Це має набагато більше сенсу з візуальної точки зору як у коді, так і в CSS. Стилізація вищезгаданого кордону є тривіальною. Однак, як зазначалося вище, семантика в кращому випадку нечітка.
Думки, коментарі, запитання?
Редагувати / оновлювати
Можливо, це було те, про що я повинен був би прямо згадати стосовно структури, але список визначень також має проблему несемантичного групування пар. Впорядкованість та неявний кордон між a dd
та a dt
легко зрозуміти, але вони все одно відчувають для мене трохи відверте.