具有响应式堆叠的 Bootstrap 等高表单标签

Posted

技术标签:

【中文标题】具有响应式堆叠的 Bootstrap 等高表单标签【英文标题】:Bootstrap equal height form labels with responsive stacking 【发布时间】:2019-08-31 02:55:44 【问题描述】:

我的问题与这个问题非常相似: All labels with same height, on each row

基本上,就像前面的问题一样,我在几列中有几个表单元素(标签/输入对)。我的标签被翻译了,有时它们占用 1 行,有时占用 3 行。最后我希望这些标签具有相同的高度,以便输入字段都在同一水平线上。

问题中的一个答案建议将标签拆分为各自的行,将输入拆分为各自的行。问题是,当以移动屏幕尺寸查看时,这些项目会堆叠起来,看起来像:

label1
label2
label3
input1
input2
input3

这个答案建议和任意高度:https://***.com/a/36409948/811277

但是,如果我的标签占用更多的高度线,我认为它不会起作用。

我能想到的唯一另一件事是利用 javascript 计算最大高度,然后应用该高度。但是,我希望有某种 CSS/FlexBox/Bootstrap 解决方案在我朝那个方向前进之前我没有看到。

编辑:

我也在寻找这些元素在移动尺寸时堆叠。例如:

label1
input1

label2
input2

【问题讨论】:

显示具体代码。 这是原始问题的 jsfiddle:jsfiddle.net/4wwav7fs/1 我的情况完全相同,只是它必须适用于响应式/移动设备尺寸。 【参考方案1】:

+ 移动

/* Latest compiled and minified CSS included as External Resource*/

/* Optional theme */
 @import url('https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css');
 body 
    margin: 10px;



.row.flex 
    display: flex;
    align-items: flex-end;


@media (max-width: 767px) 
.row.flex .col-xs-6 
    width: 100%;

label 
    margin-top: 5px;

.row.flex 
    flex-flow: wrap;

<div class="container-fluid">
    <div class="row flex">
        <div class="col-xs-6">
            <label class="control-label" for="total_contribution_months">A very large and long label for an input A very large and long label for an input</label>
            <input id="total_contribution_months" class="form-control" type="text">
        </div>
        <div class="col-xs-6">
            <label class="control-label" for="age">Same height as left</label>
            <input id="age" class="form-control">
        </div>
    </div>
</div>

【讨论】:

这个答案看起来不错。不过,我希望在移动尺寸下,表单元素组可以堆叠在一起。我应该在最初的问题中指出这一点。 @Scott Dietrich 查看整页,调整窗口大小。

以上是关于具有响应式堆叠的 Bootstrap 等高表单标签的主要内容,如果未能解决你的问题,请参考以下文章

使用 Twitter Bootstrap 响应式地重新排序 div?

Bootstrap 3 中的响应式 HR 对齐

前端库Bootstrap框架:「01] 使用 Fluid 容器实现响应式设计

具有固定包装器的引导网格 - 防止列堆叠

如何将引导卡从水平堆叠到垂直以使其响应?

bootstrap 4 响应式表单,包含带有图像的两列部分