我想创建以下布局,将其放置在容器<div class='my-container'>中,该容器可以位于页面的任何位置:

label1:    [input1]     label3: [input3]
label2:    [x]          label4: [input4]


(请注意,这些输入不在表单内,它们是筛选器,并且处理客户端更改事件以响应用户输入。我不知道这是否重要,仅提供详细信息。)

我知道我可以使用<div class'row'>分隔表单行。

我更喜欢看到我的html代码按列排序(相对于按行排序),因为表单中的业务逻辑也是按列排序。我的意思是:

<markup for label1>
<markup for input1>
<markup for label2>
<markup for input2>
<markup for label3>
<markup for input3>
<markup for label4>
<markup for input4>


可选地,我想同时控制标签列布局的宽度和输入元素的宽度。

最佳答案

除非我对您的要求有误解,否则您是要使用“页面下”布局,而不是“左右-左右-左右”布局吗?

您可以嵌套行以使标记保持相同的顺序:

<div class="container">
    <div class="row">
        <div class="col-xs-6">
            <div class="row">
                <label for="input-1" class="label-1 col-xs-6">Label 1</label>
                <input type="text" class="input-1 col-xs-6" />
            </div>
            <div class="row">
                <label for="input-2" class="label-2 col-xs-6">Label 2</label>
                <input type="text" class="input-2 col-xs-6" />
            </div>
        </div>
        <div class="col-xs-6">
            <div class="row">
                <label for="input-3" class="label-3 col-xs-6">Label 3</label>
                <input type="text" class="input-3 col-xs-6" />
            </div>
            <div class="row">
                <label for="input-4" class="label-4 col-xs-6">Label 4</label>
                <input type="text" class="input-4 col-xs-6" />
            </div>
        </div>
    </div>
</div>


看到这里:https://jsfiddle.net/96pd1ung/

09-29 21:48