【发布时间】:2017-08-13 08:12:52
【问题描述】:
例如,我希望使表单看起来像这样(或类似):
在这种情况下,这是一个更适合<table> 标签的工作,还是使用<div> 和CSS 的更好做法?
我知道 CSS 用于样式设置和表格用于表格数据的主题。然而,表单不是很表格,所以使用 CSS 来设置表单样式(对齐表单元素)是有意义的。但是表格标签已经明确分配了标签(td、tr、tbody、thead 等),如果我改用 div,它们会在语义上与其他 div 融合。即用于容器,然后用于表格,它们都变得同质,需要进一步检查以查看哪个是哪个,而表格轮廓清晰
我想询问目前可以接受的构建和样式化表单的做法。
注意:也许表格不必如下对齐,但我不知道有任何其他合理的方式来呈现表格。另外,假设您有 5 或 6 个这样的表格并排放置,而不仅仅是一个。
【问题讨论】:
-
我发现为 div 设置样式更容易,但这完全取决于偏好 - 表单被归类为表格,因为您有一个标题后跟一个字段
-
普遍的共识是,如果不是表格数据,就不要使用表格。但是,您可以use a div with
display: table -
@Pete — 这不是表格数据。一系列键/值对不是表格的。
-
使用 CSS。使用语义上最合适的元素。标签和字段集可能会消除对 div 的需求。
-
同样来自 w3c - 让我们了解标准的来源:w3.org/TR/html401/struct/tables.html - HTML 表格模型允许作者排列数据——文本、预格式化文本、图像、链接、表单、表单字段、其他表格等 - 到单元格的行和列中。
标签: html css forms html-table alignment