Twitter Bootstrap - 每列有FieldSet的水平表单

时间:2014-01-13 10:12:30

标签: twitter-bootstrap

我有一个带有两个字段集的表单,每个集合中有两个元素。我想布局表单,以便每个字段集显示为一列。

我遇到了这个jsfiddle,其中显示了一个带有单个字段集的表单和五个元素,这些元素排列在两列中但是我无法调整自己的表单来正确呈现。

我是否需要将特定的类属性添加到fieldset元素以供bootstrap将其作为列处理?

<div class="container">
    <form class="form-horizontal">
    <fieldset>
        <legend>Portfolio A</legend>
        <div class="col-xs-6">
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">Label A1</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control1" />
                </div>
            </div>
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">label A2</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control2" />
                </div>
            </div>
        </div>
    </fieldset>
    <fieldset>
        <legend>Portfolio B</legend>
        <div class="col-xs-6">
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">Label B1</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control1" />
                </div>
            </div>
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">label B2</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control2" />
                </div>
            </div>
        </div>
    </fieldset>
</form>
</div>

2 个答案:

答案 0 :(得分:7)

您应该向fieldset添加额外的类,然后更改其中div的类名。

<强> Working Demo

从此更改

<fieldset>
        <legend>Portfolio A</legend>
        <div class="col-xs-6">
        ...

到此

   <fieldset class="col-xs-6">
        <legend>Portfolio A</legend>
        <div class="col-xs-12">
        ...

我已将col-xs-6添加到fieldset,将col-xs-12添加到内部div。

答案 1 :(得分:1)

您将<fieldset>定义为列的周围块元素。这样,列级联将无法正常工作。以更合理的方式尝试:首先定义列骨架,然后在其中定义字段集。

<div class="container">
    <form class="form-horizontal">
        <div class="col-xs-6">
            <fieldset>
            ....

这样它应该像你想要的那样工作。这是一个快速jsfiddle