Bootstrap этикетки формы одинаковой высоты с адаптивным расположением

Мой вопрос очень похож на этот вопрос: Все метки одинаковой высоты в каждой строке

По сути, как и в предыдущем вопросе, у меня есть несколько элементов формы (пары метка/ввод) в нескольких столбцах. Мои метки переводятся, и иногда они занимают 1 строку, а иногда - 3. В конце концов, я хочу, чтобы эти метки были одинаковой высоты, чтобы все поля ввода находились на одной горизонтальной линии.

Один из ответов на вопрос предлагает разделить метки на отдельные строки, а входные данные — на отдельные строки. Проблема в том, что при просмотре на экранах мобильных устройств эти элементы будут складываться и выглядеть так:

label1
label2
label3
input1
input2
input3

Этот ответ предполагает и произвольную высоту: https://stackoverflow.com/a/36409948/811277

Однако я не думаю, что это сработает, если мои метки когда-либо будут занимать больше строк по высоте.

Единственное, что я могу придумать, это использовать JavaScript для вычисления максимальной высоты, а затем применить эту высоту. Тем не менее, я надеялся, что есть какое-то решение CSS/FlexBox/Bootstrap, которого я не вижу, прежде чем двигаться в этом направлении.

Редактировать:

Я также смотрю, чтобы эти элементы складывались, когда они в мобильных размерах. Например:

label1
input1

label2
input2

Покажите конкретный код.

Vladimir Rodichev 09.04.2019 20:49

Вот jsfiddle из исходного вопроса: jsfiddle.net/4wwav7fs/1 У меня точно такая же ситуация, за исключением того, что он должен работать для адаптивных/мобильных размеров.

Scott Dietrich 10.04.2019 03:33
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
2
669
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 10.04.2019 17:18

@Scott Dietrich См. всю страницу, измените размер окна.

Vladimir Rodichev 10.04.2019 21:32

Другие вопросы по теме