【发布时间】:2012-01-17 11:57:07
【问题描述】:
我一直在寻找一种使用 CSS 生成以下 HTML 表格的方法:
<style type="text/css">
table.frm tr td { vertical-align: top; padding-right: 10px; }
</style>
<table class="frm">
<tr>
<td rowspan="2">Label 1:</td>
<td><input type="text" /></td>
<td rowspan="2">Label 2:</td>
<td><input type="text" /></td>
</tr>
<tr>
<td>Validation Message 1</td>
<td>Validation Message 2</td>
</tr>
<tr>
<td rowspan="2">Label 3:</td>
<td><input type="text" /></td>
<td rowspan="2">Label 4:</td>
<td><input type="text" /></td>
</tr>
<tr>
<td>Validation Message 3</td>
<td>Validation Message 4</td>
</tr>
</table>
当我尝试用 div 替换它时遇到的问题是我无法对齐 both 列和行。我尝试使用浮动来对齐列,但随后我松开了行的垂直对齐方式。但是如果我使用 clear 来对齐行,我会失去列的水平对齐方式。
我看到的许多将表格转换为 div 的示例都使用固定或百分比宽度,但我希望布局具有与表格相同的流畅行为,因为验证消息可能会出现也可能不会出现,并且标签/字段会有不同的尺寸。
有没有设计师可以告诉我如何在没有表格的情况下实现这种布局?
【问题讨论】:
-
好吧,我说的是使用表格。表格用于以类似表格的方式组织事物。 div 用于创建块级元素。为正确的工作使用正确的工具,不要试图将方形钉子放在圆孔中等等等等。
-
我倾向于同意你的观点,但是设计类型在看到表格标签时会立即皱起眉头!
标签: html css html-table width