Может Bootstrap 4 разделить поля ввода формы ввода, чтобы сэкономить на ширине на узких устройствах - PullRequest
0 голосов
/ 22 мая 2018

В моем веб-приложении в настоящее время есть несколько страниц, содержащих формы с множеством входных данных, таких как приведенная ниже.

Without Boostrap

Обратите внимание, что в кодах используется таблица / tr./ td и изначально поле ввода всегда было справа от поля ввода, как и в случае с первыми двумя опциями.Однако я изменил ввод, когда общая ширина поля была большой, чтобы избежать горизонтальной прокрутки на планшетах / телефонах.В идеале, я бы хотел, чтобы он был справа, если есть достаточно места (например, на компьютере), чтобы избежать ненужной вертикальной прокрутки, но отступ внизу, когда этого недостаточно, поскольку лучше иметь вертикальную прокрутку, а не горизонтальную прокрутку.

Это одна из причин, по которой я перешел на Bootstrap , чтобы попытаться достичь этого.Я обнаружил, что со следующим

<div class="input-group">
                    <div class="input-group-prepend">
                        <label class="input-group-text" id="selectfolderaddon">
                            Selected Folder 
                        </label>
                    </div>
                    <div aria-describedby="selectfolderaddon">
                        <input type="text" name="folder" id="folder" class="form-control" value="C:\Users\Paul\Music\AKO">
                    </div>
                </div>

, что он будет влево / вправо, когда достаточно места, но затем пойдет ниже друг друга, когда недостаточно места, как показывают следующие два снимка экрана.

Wide, sing by side

Вот так

Narrow, below each other

Это хорошо, но было бы лучше, если бы поле вводаПри отступе к следующей строке отступ на левой стороне немного, возможно ли это ?

Затем я попытался с помощью Выбрать , но это не разделит, еслиошибка в моем коде, коде начальной загрузки или это преднамеренно

enter image description here

1 Ответ

0 голосов
/ 22 мая 2018

Как вы и предполагали, это ошибка в вашем коде.Структура input-group довольно жесткая ... ваш входной элемент не может быть заключен в <div>, который вы используете;это мешает структуре Bootstrap.

Если мы просто удалим элемент-обертку и применим aria-describedby="selectfolderaddon" к фактическому полю ввода, компонент input-group будет функционировать, как и ожидалось.

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">

<div class="input-group">
  <div class="input-group-prepend">
    <label class="input-group-text" id="selectfolderaddon">Selected Folder </label>
  </div>

  <input type="text" name="folder" id="folder" class="form-control" value="C:\Users\Paul\Music\AKO" aria-describedby="selectfolderaddon">
</div>

В приведенном выше фрагменте input-group-prepend всегда будет отображаться слева, а form-control расширенный <input> будет уменьшаться в соответствии с оставшимся доступным пространством.Добавлен бонус;вы восстанавливаете функциональность UI / UX, где эти два элемента соединены.С помощью обертки вы добавляли закругленные края по умолчанию <input> CSS Bootstrap применялись на всех границах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...