【问题标题】:Bootstrap 3.2: Button group and input group on same line in formBootstrap 3.2:表单中同一行的按钮组和输入组
【发布时间】:2014-11-03 09:01:55
【问题描述】:

当使用 Bootstrap 3.2 时,我想逐行创建一个 8 列宽的表单(col-sm-8,因此全宽,小分辨率):

  • 8 列宽度为 100% 的输入表单
  • 一个单选按钮组,后面是一个输入组,其中输入组的文本框占据剩余的整个宽度,这样按钮组和输入组的大小就与第一行相同

我无法创建这个,因为我的输入组将移动到下一行和/或不会填满整个宽度。如何实现这一点?

<div class="container">
    <form role="form">
        <div class="row">
            <div class="col-sm-8">
                <div class="form-group">
                    <label class="control-label sr-only" for="input_1">Input 1</label>
                    <input type="text" class="form-control" id="input_1" placeholder="Input 1">
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-8">
                <div class="form-group">
                    <label class="control-label sr-only" for="input_2">Input 2</label>
                    <div class="btn-group" data-toggle="buttons">
                        <label class="btn btn-default active">
                        <input type="radio" name="options" id="option1" checked>Opt1</label>
                        <label class="btn btn-default">
                        <input type="radio" name="options" id="option2">Opt2</label>
                    </div>
                    <div class="input-group" style="vertical-align: middle;">
                        <span class="input-group-btn" style="width: auto;">
                            <button type="button" class="btn btn-default">Button</button> 
                        </span>
                        <!-- /btn-group -->
                        <input type="text" class="form-control" id="input_2" placeholder="Input 2">
                    </div>
                    <!-- /input-group -->
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-8">
                <div class="form-group">
                    <button type="submit" class="btn btn-primary">Submit</button>
                </div>
            </div>
        </div>
    </form>
</div>

另请参阅我的JSFiddle

非常感谢您的回复!

【问题讨论】:

  • 如果我添加“display: inline-table; vertical-align: middle;”到输入组和“宽度:自动;”对于 input-group-btn,输入组将与按钮组在同一行,但不会有全宽。

标签: css twitter-bootstrap


【解决方案1】:

我想我已经回答了我自己的问题,通过添加

float: left;
margin-right: 10px;

到表单组,并且

overflow: hidden

到按钮组。

我也不得不删除

width: auto;

来自输入组-btn。

详情见http://jsfiddle.net/00gcsk90/6/

【讨论】:

    【解决方案2】:

    希望对你有所帮助。

    <div class="container">
    <form role="form">
        <div class="row">
            <div class="col-xs-8">
                <div class="form-group">
                    <label class="control-label sr-only" for="input_1">Input 1</label>
                    <input type="text" class="form-control" id="input_1" placeholder="Input 1">
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-xs-3">
                <div class="form-group">
                    <label class="control-label sr-only" for="input_2">Input 2</label>
                    <div class="btn-group" data-toggle="buttons">
                        <label class="btn btn-default active">
                            <input type="radio" name="options" id="option1" checked>Opt1</label>
                        <label class="btn btn-default">
                            <input type="radio" name="options" id="option2">Opt2</label>
                    </div>
                </div>
    
            </div>
            <div class="col-xs-5">
                <div class="form-group">
                    <div class="input-group">
                        <span class="input-group-btn">
                            <button type="button" class="btn btn-default col-xs-12">Button</button>
                        </span>
                        <input type="text" class="form-control" id="input_2" placeholder="Input 2">
                    </div>
                </div>
    
            </div>
        </div>
    
        <div class="row">
            <div class="col-sm-8">
                <div class="form-group">
                    <button type="submit" class="btn btn-primary">Submit</button>
                </div>
            </div>
        </div>
    </form>
    

    JSFiddle

    【讨论】:

    • 不是真的(但感谢发帖!):在高分辨率下,按钮组和输入组之间有很大的差距,而在低分辨率下,按钮组将占用两行。我希望按钮组始终在一行上,然后是一个小空间(常规边距),然后是填充整个宽度的输入组。
    猜你喜欢
    • 2016-01-12
    • 2017-09-01
    • 2023-03-09
    • 2016-10-15
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    相关资源
    最近更新 更多