定义列表<dl>是否要求每个<dd>都有</dd> <dt>标签?</dt> </dl>

时间:2010-07-18 09:57:38

标签: html html-lists

定义列表<dl>是否要求每个<dd>都有<dt>个标签?

示例:

选项1 ,如果<dd>为空,则每个<dt>都存在<dt>

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

选项2 ,如果<dd>为空,则<dt>不存在<dt>

<dl>

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


修改

dt可以为空的示例(由zend_form自动构建 - 无法更改):

<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 个答案:

答案 0 :(得分:7)

HTML 4不强制执行此操作,XHTML 1.1也不执行此操作。它们只需要<dl>只包含一个或多个<dt><dd>

然而,HTML 5 has stricter requirement

  

零或多个:(一个或多个<dt>元素,后跟一个或多个<dd>元素

因此,您的option2将不会在HTML 5中验证。

选项1仍然正常,因为<dt>可以包含任何“措辞内容”,包括空内容。

答案 1 :(得分:3)

根据the HTML 4 DTD

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

这意味着你可以混合搭配。

以下是使用定义列表的各种方法的概述:

答案 2 :(得分:2)

dl只在W3C validator中包含dd个验证码,所以我想这没关系。

W3C HTML 4.01参考:10.1 Introduction to lists

工作示例:

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

答案 3 :(得分:1)

标签用于 与(定义 定义列表)和 (描述列表中的项目) 从W3复制。

答案 4 :(得分:1)

这是有效的,但我不明白为什么你想要这样做。

请注意,您的第二个示例仅适用于第一个项目;由于多个dt项可以申请单个dd,因此不会出现遗漏dt这样的问题。