Требуется ли для списка определений <dl>, чтобы каждый <dd>имел тег <dt>? - PullRequest
7 голосов
/ 18 июля 2010

Требуется ли в списке определений <dl>, чтобы каждый <dd> имел тег <dt>?

Пример:

option1 для каждого <dd> существует его<dt> также, если <dt> пусто:

<dl>
<dt></dt>
<dd>value1</dd>
<dt>name2</dt>
<dd>value2</dd>
</dl>

option2 для каждого <dd> не существует его <dt>, если <dt> пусто:

<dl>

<dd>value1</dd>
<dt>name2</dt>
<dd>value2</dd>
</dl>


Редактировать:

Пример, когда dt может быть пустым (его построение с помощью zend_form auto - не может быть изменено):

<dl> 

<dt><lable>Last Name:</label></dt> 
<dd><input type='text' size='30' /></dd>
<dt><lable></label></dt> 
<dd><input type='submit' size='30' value='submit'/></dd>
<dt><lable>Name:</label></dt> 
<dd><input type='text' size='30' /></dd>

</dl>

Спасибо

Ответы [ 5 ]

7 голосов
/ 18 июля 2010

HTML 4 не обеспечивает этого, равно как и XHTML 1.1 .Они требуют, чтобы <dl> содержал только один или несколько <dt> или <dd> с.

Однако HTML 5 имеет более строгие требования :

нольили более: (один или несколько <dt> элементов, , за которыми следуют один или несколько <dd> элементов)

Следовательно, ваш вариант2 не будет проверен в HTML 5.

option1 по-прежнему в порядке, так как <dt> может содержать любой «фразовый контент», включая пустой контент.

3 голосов
/ 18 июля 2010

Согласно HTML 4 DTD :

<!ELEMENT DL - - (DT|DD)+              -- definition list -->

Это означает, что вы можете смешивать и сочетать.

Вот хороший обзор различных способов использования списка определений:

2 голосов
/ 18 июля 2010

A dl, содержащий только dd s, проверяется в W3C-валидаторе , поэтому я думаю, что все в порядке.

W3C HTML 4.011008 *

Рабочий пример:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
  <dl>
   <dd>value1</dd>
   <dd>value2</dd>
 </dl>
</body>
</html>
1 голос
/ 18 июля 2010

Это действительно, но я не могу понять, почему вы когда-нибудь захотите это сделать.

Обратите внимание, что ваш второй пример действительно относится только к первому элементу; в дальнейшем не будет пропущено dt, поскольку на один dt.

может претендовать несколько dd элементов.
1 голос
/ 18 июля 2010

Тег используется вместе с (определяет список определений) и (описывает элемент в списке).
Скопировано из W3.

...