【发布时间】:2013-12-31 12:07:30
【问题描述】:
我需要创建水平表单,其中每个字段出现在其标签下,并且表单基本上是列格式,其中标签和字段出现在一列中。 我尝试将它与表格格式一起使用,但它不适用于动态表单,因为我不知道表单中将出现的字段和标签的数量。
我搜索并找到 HTML columns or rows for form layout? 第一种方法采用水平布局,但字段和标签未按列格式对齐。
.field-row {
overflow: hidden;
}
.field-row span {
display: block;
width: 30%;
float: left;
}
.field-row .field-container {
width: 70%;
float: left;
}
<div class="field-row">
<span>Field 1</span>
<span>Field 2</span>
<span>Field 3</span>
<div class="field-container">
<input type="text"/>
<input type="text"/>
<input type="text"/>
</div>
jsFiddle 以上代码。
是否有可能实现这个只是 div 或 table 是唯一的方法?
[编辑]抱歉,在原始问题中遗漏了这一点。
标签行需要有一个边框,以使其显示为单行。 这就是我将所有标签保留在一个 div 中的原因,以便可以将这种样式应用于 div。 更新了预期输出的 jsFiddle
【问题讨论】:
-
你想要这种类型jsfiddle.net/aBeF8/1???
-
不,这是垂直形式。我需要我的表单水平出现在标签下方的每个字段
-
请看这个jsfiddle.net/aBeF8/3 你必须在css中改变 .field-row .field-container { width: 30%;向左飘浮; }
-
布局看起来很完美,但我错过了一件有问题的事情。标签周围应该有边框,使它们显示为一行。这种结构可以做到吗?
-
是的,这是可能的。请看这个链接jsfiddle.net/aBeF8/5