我最近遇到了几个这样的例子:
<dl>
<dt>Full Name:</dt>
<dd><input type="text" name="fullname"></dd>
<dt>Email Address:</dt>
<dd><input type="text" name="email"></dd>
</dl>
用于处理HTML表单。为什么会这样呢?与使用表格相比,有什么优点?
发布于 2009-02-06 07:04:26
我想这取决于你来决定语义,但在我看来:
应该使用与表单相关的属性,而不是定义列表。
<form>
<label for="fullname">Full Name:</label>
<input type="text" name="fullname" id="fullname">
<label for="email">Email Address:</label>
<input type="text" name="email" id="email">
</form>
标记中的"for“属性应该引用标记的"id”属性。请注意,当标签与字段关联时,单击标签将使关联的字段成为焦点。
您还可以使用像这样的标记将表单的各个部分组合在一起,并为字段集添加标题。
发布于 2009-02-06 05:49:45
这是语义与格式问题的一个子集。定义列表说明了它们是什么,相关键/值属性的列表,但没有说明如何显示它。表格说明了更多关于布局和如何显示数据的信息,而不是其中的数据是什么。它通过过多指定格式和过少指定格式来限制如何格式化列表。
从历史上看,HTML将语义和格式化混为一谈。字体标签和表格是最糟糕的例子。使用CSS进行格式化和从XHTML中剥离大量纯格式化标记在某种程度上恢复了意义与格式化的分离。通过将格式分离到CSS中,您可以以许多不同的方式显示相同的HTML,并将其重新设置为适用于宽浏览器、小型移动浏览器、打印、纯文本等的格式。
要获得启发,请访问CSS Zen Garden。
发布于 2010-07-11 18:32:41
与ul
li
、div
和table
一样,将dl
dt
、dd
用于表单只是另一种构建表单的方式。您始终可以将label
放入dt
中。这样就可以将特定于表单的元素label
保留在适当的位置。
<form action="/login" method="post">
<dl>
<dt><label for="login">Login</label></dt>
<dd><input type="text" name="login" id="login"/></dd>
<dt><label for="password">Password</label></dt>
<dd><input type="password" name="password" id="password"/></dd>
<dd><input type="submit" value="Add"/></dd>
</dl>
</form>
https://stackoverflow.com/questions/519234
复制相似问题