2010-07-18 17 views
7

¿La lista de definición <dl> requiere que cada <dd> tenga la etiqueta <dt>?¿La lista de definición <dl> requiere que cada <dd> tenga la etiqueta <dt>?

Ejemplo:

option1 para cada <dd> existen su <dt> también si <dt> vacío:

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

opción2 para cada <dd> no existir su <dt> si <dt> vacío:

<dl> 

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


Editar:

ejemplo para cuando dt puede estar vacía (su acumulación por auto Zend_Form - no puede ser cambiado):

<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> 

Gracias

Respuesta

7

HTML 4 no hace cumplir esto, tampoco lo es XHTML 1.1. Solo requieren <dl> contiene solo uno o más <dt> o <dd> s.

Sin embargo, HTML 5 has stricter requirement:

cero o más de: (uno o más <dt> elementos, seguido de uno o más <dd> elementos)

Por lo tanto, sus opción2 no validará en HTML 5.

option1 todavía está bien, ya que <dt> puede contener cualquier "contenido de fraseo", incluido el contenido vacío .

1

La etiqueta se utiliza en junto con (define la lista de definiciones) y (describe el elemento en la lista).
Copiado de W3.

2

A dl que contiene solo dd s valida en el W3C validator, así que supongo que está bien.

W3C HTML 4.01 Referencia: 10.1 Introduction to lists

Ejemplo de trabajo:

<!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

Es válido, pero no puedo ver por qué te gustaría alguna vez quiere hacerlo.

Tenga en cuenta que su segundo ejemplo solo se aplica realmente al primer elemento; No hay nada que falte dt más adelante, ya que pueden solicitarse dd artículos para un único dt.

+0

Ejemplo para mi caso que explican mejor:

Nombre:
Yosef

3

Según the HTML 4 DTD:

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

Eso significa que se puede mezclar y combinar.

Aquí está una buena visión de conjunto de las diversas maneras de utilizar una lista de definiciones:

+0

1, este es el recurso más definitiva. ¿Hay una buena introducción para interpretar la sintaxis DTD en alguna parte? –

+0

@Pekka: Adelante y suficiente - http://en.wikipedia.org/wiki/Document_Type_Definition#Element_type_declarations ;-) – Tomalak

Cuestiones relacionadas