【问题标题】:How do I adjust Bootstrap 3 inline form width?如何调整 Bootstrap 3 内联表单宽度?
【发布时间】:2014-05-20 15:54:46
【问题描述】:

我有一个依赖于 Bootstrap 3 的表单:

完整的工作示例http://jsfiddle.net/x7vk7/2/

要点是我有 2 列内容。第一列为col-lg-4,第二列为col-lg-8。第一列显示表单,第二列显示结果。

我遇到的问题与 Cases 问题中内联表单元素的宽度有关。我使用this post 来弄清楚如何在水平表单中正确嵌套内联表单元素。这是我为案例问题提供的相关代码:

<div class="form-group">
    <label class="col-lg-2 control-label" for="id_current_case_count" data-placement="top" data-toggle="tooltip" title="How many cases have you seen?">Cases</label>
    <div class="col-lg-10">
        <div class="form-inline">
            <div class="form-group">
                <input class="form-control" id="id_current_case_count" min="0" name="current_case_count" type="number" />
            </div>
            ±
            <div class="form-group">
                <input class="form-control" id="id_case_count_uncertainty" min="0" name="case_count_uncertainty" type="number" />
            </div>
            <div class="form-group">
                <select class="form-control" id="id_case_count_interval" name="case_count_interval">
                    <option value="weekly">per week</option>
                    <option value="total">total</option>
                </select>
            </div>
        </div>
    </div>
</div>

问题是我希望 Cases 问题的所有 3 个表单元素都在同一行。前 2 个元素只是整数字段,因此它们不必非常宽。调整前两个整数字段的宽度以使所有 3 个字段都位于同一行的正确方法是什么?

【问题讨论】:

    标签: html css twitter-bootstrap twitter-bootstrap-3


    【解决方案1】:

    如果你想实现this,你所要做的就是使用你的这个代码:

    <div class="content row">
        <div class="col-xs-3" style="padding-right: 5px;">
            <input class="form-control" id="id_current_case_count" min="0" name="current_case_count" type="number" />
        </div>                            
        <div class="col-xs-3"  style="padding-right: 5px;">
            <input class="form-control" id="id_case_count_uncertainty" min="0" name="case_count_uncertainty" type="number" />
        </div>
        <div class="col-xs-6">
            <select class="form-control" id="id_case_count_interval" name="case_count_interval">
                <option value="weekly">per week</option>
                <option value="total">total</option>
            </select>
        </div>
    </div>
    

    jsfiddle here中的所有代码。

    【讨论】:

    • 抱歉响应缓慢(参加过会议),但看起来很棒!我明天去试试。我想这会解决我的问题。非常感谢!
    【解决方案2】:

    文档中推荐的方法是将输入包装在父元素中,并在那里设置列宽。

    <div class="col-xs-2">
        <input type="text" class="form-control" placeholder=".col-xs-2">
    </div>
    

    http://getbootstrap.com/css/#forms-control-sizes

    在您的示例中,您已经将它们包装在一个 div 中,因此只需将 col-class 添加到您的表单组。

    【讨论】:

    • 这接近于工作,但元素之间的间距存在问题(参见jsfiddle.net/x7vk7/4 示例)。您可以看到这些元素实际上是彼此叠放的。这也掩盖了±。知道如何解决这个问题吗?
    • 这取决于浏览器的大小如何呈现。请注意,bootstrap3 具有很强的适应性,即如果您的显示器很窄,它会将其分成几行以使其正确适应。我在您的 jsfiddle 中注意到的一件事是,三个控件(和 +/-)的宽度不能正确加起来为 12。我建议你把 放在 +/-
    • 好的,这是当前 jsfiddle 的链接:jsfiddle.net/x7vk7/7。它仍然看起来不正常(请参阅i.imgur.com/1ASVV5S.png)。我正在扩大浏览器以最大限度地利用 col-lg-*,并且表单元素仍然彼此重叠。我只是不知道如何防止这种情况发生。
    【解决方案3】:

    您可以在任何元素组中使用 Bootstrap 的列类。在这种情况下,您的问题可以通过为相关部分中的每个.form-group div 提供一个额外的.col-xs-4 类来解决。这会将它们中的每一个的大小调整为可用空间的 1/3,并且全部位于同一行。

    JSFiddle

    【讨论】:

    • 我绝对喜欢你要去的地方,但你提供的例子不太行。 i.imgur.com/EgZeGWo.png 就是它的样子。此外,缺少±(我确实需要那个)。
    【解决方案4】:

    您可以简单地将.col-lg-4 设置为 width="40%" 或您希望设置的任何其他值。我自己使用它,所以我不明白为什么它不应该工作。

    例子,

    .col-lg-4 {
    width: 50%;
    }
    

    确保这是在一个单独的 CSS 文件中,该文件是在引导程序之后添加到 HTML 中的。

    例子,

    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/local.css" rel="stylesheet">
    

    【讨论】:

    • 谢谢!知道这一点真的很有用。
    • 呃,你真的不应该覆盖引导程序的类,而是用你的自定义 css 添加你自己的类
    【解决方案5】:

    添加 style="width:33%;display:inline-block;"到您的输入标签或包含相同标签的类。

    【讨论】:

    • 我尝试将style="width:30%;" 添加到表单组(请参阅jsfiddle.net/x7vk7/5),但它不起作用。输入只是彼此重叠。我怎样才能让他们坐在彼此旁边而不是在上面?
    • @Geoff 你还需要添加 display:inline-block
    • 废话,我看到的还是一样的东西:jsfiddle.net/x7vk7/6。输入仍然相互重叠。
    • @Geoff 你不能简单地继续合并答案。删除你的 col 类
    • 我不关注。这个小提琴与其他 2 个答案无关。这些表单组上没有 col 类,除非我误解了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 2016-06-14
    • 2021-07-21
    • 2014-03-30
    • 1970-01-01
    相关资源
    最近更新 更多