【发布时间】:2017-01-27 17:23:30
【问题描述】:
在 html 中布局表单的最佳做法是什么?特别是您有一组带有标签的字段和可能的错误指示符。我能做的最好的就是使用表格,但这在面向 css 的布局设计中效果不佳。例如:
<table>
<tr>
<td>Name:</td>
<td><input type="text" /></td>
<td style="display: none" id="NameError">*</td>
</tr>
<tr>
<td>Phone:</td>
<td><input type="text" /></td>
<td style="display: none" id="PhoneError">*</td>
</tr>
<tr>
<td>Birthday:</td>
<td><input type="text" /></td>
<td style="display: none" id="BirthdayError">*</td>
</tr>
</table>
这似乎不是很 CSS,但我不确定如何使用面向 css 的布局来使其正常工作。
什么是最佳实践?
【问题讨论】:
-
@WTP - 严格来说,
- 是一个定义列表(项目及其定义的列表),所以不是特别合适,IMO - 但是,我已经看到它们以这种方式使用。
-
什么是“最佳实践”和什么是“实用”有时是不同的东西。表格(而非页面)布局相对于 CSS 的优势在于多点。 1) 桌子是自古以来的基石技术。每个浏览器都知道如何呈现它们,并以相同的方式呈现它们,它们不会很快消失,也不会被“修改”并在未来产生意外行为。
-
而且 2) 表格布局实际上比 div 和 span 的等效 CSS 样式简单得多。列宽是(或可以保留)自动处理宽度的大小以动态匹配内容,使垂直和水平对齐变得微不足道。尽管具有 Balrog 的所有特性,表格仍然可以响应现代 css 样式,例如 min-width 和 max-width 来控制宽度/溢出。
标签: html css html-table