Вот что я в итоге сделал, не настраивая ядро Bootstrap CSS.
Я узнал, что .form-inline
отображает только встроенные элементы формы при ширине экрана не менее 576 px .Кроме того, я неправильно использовал .form-group
вместе с .form-inline
, когда мне следовало использовать .input-group
на входах, как было указано выше.Но это по-прежнему не позволяло мне поддерживать встроенные объекты на узких экранах шириной менее 576 пикселей.
Поэтому я вообще отказался от .form-inline
и вместо этого использовал сетку форм , используяBootstrap встроенные классы сетки.Я использовал .form-row
и обрабатывал встроенные элементы формы как обычные столбцы:
Обновлен Codeply: https://www.codeply.com/go/hwBPwM6qTV
<div class="container">
<form>
<div class="form-row">
<div class="col-8 col-sm-5 col-md-4">
<div class="form-group">
<label class="sr-only" for="Email">Email address</label>
<input type="email" class="form-control" id="Email" name="Email" placeholder="user@gmail.com">
</div>
</div>
<div class="col">
<button class="btn btn-primary" type="submit">Add</button>
</div>
</div> <!-- .form-row -->
</form>
</div>
Это позволяет поддерживать все встроенные функции при очень узкой ширине экрана: ![inline form at narrow screen widths](https://i.stack.imgur.com/7j0tS.png)
Очевидно, столбцы могут быть изменены в соответствии с потребностями конкретного приложения или предпочтения.