在twitter bootstrap中横向形成内部形式?

Frn*_*ntz 194 html forms twitter-bootstrap

在没有任何自制课程的情况下,在twitter bootstrap中设计一个看起来像这样的表单(请参阅下面的链接)的最佳方法是什么?

是否可以在表单水平内部设置内部表单内联,如下例所示:

UI目标的屏幕截图

alb*_*igo 310

不要嵌套<form>标签,这将无法正常工作.只需使用Bootstrap类.

Bootstrap 3

<form class="form-horizontal" role="form">
    <div class="form-group">
      <label for="inputType" class="col-md-2 control-label">Type</label>
      <div class="col-md-3">
          <input type="text" class="form-control" id="inputType" placeholder="Type">
      </div>
    </div>
    <div class="form-group">
        <span class="col-md-2 control-label">Metadata</span>
        <div class="col-md-6">
            <div class="form-group row">
                <label for="inputKey" class="col-md-1 control-label">Key</label>
                <div class="col-md-2">
                    <input type="text" class="form-control" id="inputKey" placeholder="Key">
                </div>
                <label for="inputValue" class="col-md-1 control-label">Value</label>
                <div class="col-md-2">
                    <input type="text" class="form-control" id="inputValue" placeholder="Value">
                </div>
            </div>
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

你可以通过多种方式实现这种行为,这只是一个例子.在这个bootply上测试它

Bootstrap 2

<form class="form-horizontal">
    <div class="control-group">
        <label class="control-label" for="inputType">Type</label>
        <div class="controls">
            <input type="text" id="inputType" placeholder="Type">
        </div>
    </div>
    <div class="control-group">
        <span class="control-label">Metadata</span>
        <div class="controls form-inline">
            <label for="inputKey">Key</label>
            <input type="text" class="input-small" placeholder="Key" id="inputKey">
            <label for="inputValue">Value</label>
            <input type="password" class="input-small" placeholder="Value" id="inputValue">
        </div>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

请注意,我正在使用.form-inline内部的propper样式.controls.
你可以在这个 jsfiddle 上测试它

  • 你也可以在div上添加表单类,在我的例子中,我在span6 div上使用了垂直表单类,在span12 div上使用了水平表单类 (3认同)
  • 这适用于bootstrap2.有关bootstrap 3的信息,请访问:http://stackoverflow.com/questions/18429121/inline-form-nested-within-horizo​​ntal-form-in-bootstrap-3 (3认同)

Rya*_*ell 90

对于bootstrap 3上面的示例有效但过于复杂,而不是使用表单组使用form-inline来表示您想要内联的字段.

例如:

<div class="form-group">
     <label>CVV</label>
     <input type="text" size="4" class="form-control" />
</div>

<div class="form-inline">
      <label>Expiration (MM/YYYY)</label><br>
      <input type="text" size="2" class="form-control" /> / <input type="text" size="4" class="form-control" />
</div>
Run Code Online (Sandbox Code Playgroud)

  • 您必须在form-inline类中包装所有表单组 (3认同)

Bat*_*cid 14

这使用twitter bootstrap 3.x和一个css类来使标签位于输入之上.这是一个小提琴链接,请确保将结果面板扩展到足以看到效果.

HTML:

  <div class="row myform">
     <div class="col-md-12">
        <form name="myform" role="form" novalidate>
           <div class="form-group">
              <label class="control-label" for="fullName">Address Line</label>
              <input required type="text" name="addr" id="addr" class="form-control" placeholder="Address"/>
           </div>

           <div class="form-inline">
              <div class="form-group">
                 <label>State</label>
                 <input required type="text" name="state" id="state" class="form-control" placeholder="State"/>
              </div>

              <div class="form-group">
                 <label>ZIP</label>
                 <input required type="text" name="zip" id="zip" class="form-control" placeholder="Zip"/>
              </div>
           </div>

           <div class="form-group">
              <label class="control-label" for="country">Country</label>
              <input required type="text" name="country" id="country" class="form-control" placeholder="country"/>
           </div>
        </form>
     </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.myform input.form-control {
   display: block;  /* allows labels to sit on input when inline */
   margin-bottom: 15px; /* gives padding to bottom of inline inputs */
}
Run Code Online (Sandbox Code Playgroud)