Bootstrap 3 формы с полями ввода и текстовыми данными в отдельных строках / ячейках?

У меня есть форма внутри модального поля, в котором есть комбинация полей ввода и простого текста. Мне интересно, каково общее правило в начальной загрузке для такой ситуации. Как элементы должны быть организованы? Должен ли я использовать <div class='form-group'> для всего или это нормально использовать <div class='row'><div class='col-xs-12'> например? Вот что у меня так далеко:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.0/js/bootstrap.min.js" integrity="sha384-7aThvCh9TypR7fIc2HV4O/nFMVCBwyIUKL8XCtKE+8xgCgl/PQGuFsvShjr74PBp" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.0/css/bootstrap.min.css" integrity="sha384-PDle/QlgIONtM1aqA2Qemk5gPOE7wFq8+Em+G/hmo5Iq0CCmYZLv3fVRDJ4MMwEA" crossorigin="anonymous">

<div id="myModal" class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h5 class="modal-title">Title</h5>
      </div>
      <div class="modal-body">
        <form id='frm_my'>
          <div class='row'>
            <div class='col-xs-12'>Frm validation rules in description here. Dummy text for testing purpuse.</div>
          </div>
          <div class='row'>
            <div class='col-xs-1'><input type='checkbox' name='check' id='check'></div>
            <div class='col-xs-11'>Field 1 description with some dummy text (example)</div>
          </div>
          <div class='row'>
            <div class='form-group'><label for='comment'>Comment:</label><textarea class='form-control' rows='2' id='comment'></textarea></div>
          </div>
          <div class='row'>
            <div class='col-xs-12'>Click on the Accept button if you would like to save the form data. <b>Accept</b>.</div>
          </div>
          <div class='row'>
            <div class='col-xs-12'>To cancel this screen and return to the display screen, click <b>Cancel</b></div>.
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary">Accept</button>
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
      </div>
    </div>
  </div>
</div>

<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

Кроме того, мне интересно, есть ли способ добавить отступы вокруг формы, чтобы он не находился рядом с краем модальной рамки? Спасибо.

1 ответ

Решение

JS Fiddle

(Из кода кажется, что Bootstrap 4.3.0 используется. Таким образом, класс col-xs-12 изменено на col-12 в коде)

TL; DR Сетки могут быть использованы. Лучше использовать form-group обернуть элементы формы (вот почему Bootstrap предоставил их!).

Сетки могут быть использованы в модалах, как написано в документации. (Это для 3.4, и для v4.0 здесь) Вы можете использовать его, скажем, когда вы хотите макет с двумя столбцами.

Элементы форм лучше оборачиваются form-control и специальные процедуры должны быть сделаны, чтобы <input> с типом checkbox, file, radio, (Таким образом, у нас есть стилизация и позиционирование по умолчанию с помощью Bootstrap). Документы

Для использования сетки с формами, также проверьте форму сетки.

После добавления стиля через form-group, если вы хотите больше отступов влево и вправо, вы также можете добавить <div class='container'>,

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