定义列表<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>
由于
答案 0 :(得分:7)
HTML 4不强制执行此操作,XHTML 1.1也不执行此操作。它们只需要<dl>
只包含一个或多个<dt>
或<dd>
。
然而,HTML 5 has stricter requirement:
零或多个:(一个或多个
<dt>
元素,后跟一个或多个<dd>
元素
因此,您的option2将不会在HTML 5中验证。
选项1仍然正常,因为<dt>
可以包含任何“措辞内容”,包括空内容。
答案 1 :(得分:3)
<!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
这样的问题。