【问题标题】:Dividing form into two columns with twitter bootstrap使用 twitter bootstrap 将表单分成两列
【发布时间】:2013-10-28 14:46:44
【问题描述】:

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

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

  2. 我需要将form分成两列

  3. 每一列都有label+control,有些会有label+control1+control2等。

我是新手。我来了以下solution (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 分成两列。 documentation我也通读了一遍,但是感觉这不是col等类的正确使用方式。

【问题讨论】:

    标签: html css twitter-bootstrap-3


    【解决方案1】:

    列分离发生在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>
    

    【讨论】:

    • 表格已经在容器内。我应该在表单中使用容器吗?我不明白。
    • 是的。给表格container。因为您希望表单成为网格的容器,对吗?
    • 表单在容器中。我不明白如何将它分成两列以及我的解决方案是否可以。如果添加表单类容器怎么办,主要问题是如何像图像中那样分成两列。我应该使用行吗?我不在我的例子中。
    • 查看我的编辑,因为它在一个容器内,但您希望表单本身也成为网格的容器...
    • 我理解你的编辑,但你能告诉我为什么'form-group'被如此广泛地使用吗?它的目的是什么?
    【解决方案2】:

    我在使用 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>
    

    我相信它会起作用的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      • 2012-05-08
      • 1970-01-01
      • 2023-02-03
      相关资源
      最近更新 更多