9

在以下情况下form,使用引导程序设置样式的正确方法是什么:

两列表单视图

  1. 我需要使用字段集(稍后会设置样式)

  2. 我需要form分成两列

  3. 每列都有标签+控件,有些会有标签+控件1+控件2等。

我是新手。我来到了以下解决方案(jsfiddle)

问题是:这是正确的方法吗?它不违反引导语义吗?

我不明白什么时候使用form-group,我是否正确使用它?

为了正确的语义,我不应该在这里包括一些class="row"吗?

HTML:

<div class="container">
... <some content here> ....

<form class="form-horizontal">
    <fieldset>
        <legend>Portfolio</legend>
        <div class="col-xs-6">
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">Label1</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">label2</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control2" />
                </div>
            </div>
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">label3</label>
                <div class="col-xs-8 form-inline">
                    <div class="form-group col-xs-6">
                        <input type="text" class="form-control" placeholder="control1" />
                    </div>
                    <div class="form-group col-xs-6">
                        <input type="text" class="form-control" placeholder="control2" />
                    </div>
                </div>
            </div>
        </div>
        <div class="col-xs-6">
            <div class="form-group">
                <label for="name" class="col-xs-4 control-label">Label1</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">label2</label>
                <div class="col-xs-8">
                    <input type="text" class="form-control" placeholder="control2" />
                </div>
            </div>
        </div>
    </fieldset>
</form>
</div>

我已经看过所有 Bootstrap 表单示例,但我不知道如何form分成两列。我也阅读了整个文档,但我觉得这不是如何使用col其他类的正确方法。

4

2 回答 2

11

列分离发生在container元素内部。
每次你有一个想要在其中做网格的元素时,给它class="container"并在其中你可以使用普通rowcolumn类。

还要检查 Bootstrap 的开箱即用的表单样式。

下面是最基本的,添加你需要的东西(比如文本对齐等)

<form class="container">
    <div class="row">
        <div class="col-md-3">
            <label for="username" class="control-label">label</label>
        </div>

        <div class="col-md-3">
            <input type="text" name="username" class="form-control" placeholder="Email address" autofocus>
        </div>

        <div class="col-md-3">
            <label for="username" class="control-label">label</label>
        </div>

        <div class="col-md-3">
            <input type="text" name="username" class="form-control" placeholder="Email address" autofocus>
        </div>

    </div>
</form>
于 2013-10-28T14:49:13.853 回答
0

我在使用 bootstrap 4 时遇到了这个问题,我发现每当我们想将表单内部分成许多列时,我们都应该使用容器和行类。因为引导网格的样式来自其父级(.container 和 .row)

看这个例子:

  <main>
    <div class="container-fluid mt-3">
        <div class="row">
            <form  method="post">
                <div class="container-fluid">
                    <div class="row">
                     <div class="col-md-6"> 
                       <div class="input-group">
                          <div class="col-md-3">
                            <label class="form-controllabel">Full Name</label>
                          </div>
                          <div class="col-md-9">
                            <input type="text" />
                            </div>
                         </div>

                    <div class="input-group">
                          <div class="col-md-3">
                            <label class="form-controllabel">fatherName</label>
                          </div>
                          <div class="col-md-9">
                            <input type="text" />
                            </div>
                    </div>
                   <div class="input-group">
                          <div class="col-md-3">
                            <label class="form-controllabel">LastName</label>
                          </div>
                          <div class="col-md-9">
                            <input type="text" />
                            </div>
                     </div>
                            

         <div class="col-md-6">
                           
                <div class="input-group">
                          <div class="col-md-3">
                            <label class="form-controllabel">salary</label>
                          </div>
                          <div class="col-md-9">
                            <input type="text" />
                            </div>
               </div>

              <div class="input-group">
                          <div class="col-md-3">
                            <label class="form-controllabel">tax</label>
                          </div>
                          <div class="col-md-9">
                            <input type="text" />
                            </div>
               </div>
                 
                <button type="submit">save</button>   
                                    
        </div>

                            
                    </div>
                </div>
            </form>
        </div>
    </div>
</main>

我相信它会起作用的!

于 2021-07-06T13:33:09.713 回答