首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么对HTML表单使用定义列表(DL、DD、DT)标记而不是表格?

为什么对HTML表单使用定义列表(DL、DD、DT)标记而不是表格?
EN

Stack Overflow用户
提问于 2009-02-06 05:39:43
回答 8查看 79K关注 0票数 87

我最近遇到了几个这样的例子:

代码语言:javascript
复制
<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表单。为什么会这样呢?与使用表格相比,有什么优点?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-02-06 07:04:26

我想这取决于你来决定语义,但在我看来:

应该使用与表单相关的属性,而不是定义列表。

代码语言:javascript
复制
<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”属性。请注意,当标签与字段关联时,单击标签将使关联的字段成为焦点。

您还可以使用像这样的标记将表单的各个部分组合在一起,并为字段集添加标题。

票数 105
EN

Stack Overflow用户

发布于 2009-02-06 05:49:45

这是语义与格式问题的一个子集。定义列表说明了它们是什么,相关键/值属性的列表,但没有说明如何显示它。表格说明了更多关于布局和如何显示数据的信息,而不是其中的数据是什么。它通过过多指定格式和过少指定格式来限制如何格式化列表。

从历史上看,HTML将语义和格式化混为一谈。字体标签和表格是最糟糕的例子。使用CSS进行格式化和从XHTML中剥离大量纯格式化标记在某种程度上恢复了意义与格式化的分离。通过将格式分离到CSS中,您可以以许多不同的方式显示相同的HTML,并将其重新设置为适用于宽浏览器、小型移动浏览器、打印、纯文本等的格式。

要获得启发,请访问CSS Zen Garden

票数 24
EN

Stack Overflow用户

发布于 2010-07-11 18:32:41

ul lidivtable一样,将dl dtdd用于表单只是另一种构建表单的方式。您始终可以将label放入dt中。这样就可以将特定于表单的元素label保留在适当的位置。

代码语言:javascript
复制
<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>
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/519234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档