Настройки по умолчанию
Элементы <input>, <textarea> и <select> при добавлении к ним класса .form-control становятся блочными и занимают 100% ширины родительского блока.
Основные моменты при создании и оформлении формы представим в виде следующих этапов:
- Указать вид формы. В Bootstrap 3 различают следующие виды форм: вертикальная (без добавления класса), горизонтальная (
.form-horizontal) и в одну строку (.form-inline). - Добавить к необходимым текстовым элементам управления
<input>,<textarea>,<select>класс.form-control, чтобы установить им ширину, равную 100% (всю доступную ширину родительского элемента). - Поместить каждую надпись (
<label>) и элемент управления в контейнер<div>...</div>с классом.form-group. Это необходимо сделать, чтобы задать для элементов в форме оптимальные отступы.
Вертикальная форма (по умолчанию)
Вертикальная форма - это макет формы, в которой её элементы распологаются вертикально, т.е. один под другим. Данная форма создаётся без добавления класса к элементу формы (<form>). Метки и элементы управления формы необходимо размещать в блоке с классом .form-group.
<form>
<div class="form-group">
<label for="inputEmail">Адрес email:</label>
<input type="email" class="form-control" id="inputEmail" placeholder="Введите email">
</div>
<div class="form-group">
<label for="inputPassword">Пароль:</label>
<input type="password" class="form-control" id="inputPassword" placeholder="Введите пароль">
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Запомнить
</label>
</div>
<button type="submit" class="btn btn-default">Войти</button>
</form>
Пример
Строчная форма
Строчная форма означает, что все её элементы и их названия (<label>) будут располагаться в одну строку с равнением к левому краю.
.form-inline к тегу <form>
В следующем примере пример создания строчной формы с двумя полями и кнопкой подтверждения:
<form role="form" class="form-inline"> <div class="form-group"> <label for="email">Email</label> <input type="email" class="form-control" id="email" placeholder="Введите > </div> <div class="form-group"> <label for="pass">Пароль</label> <input type="password" class="form-control" id="pass" placeholder="Пароль"> </div> <button type="submit" class="btn btn-success">Войти</button> </form>
Пример
Горизонтальная форма
Такой вид формы значительно отличается синтаксисом от двух предыдущих. Есть два правила для создания горизонтальных форм в Bootstrap:
- добавить класс
.form-horizontalк тегу<form> - добавить класс
.control-labelко всем элементам<label&ht;
<form class="form-horizontal">
<div class="form-group">
<label for="mail" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="mail" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="pass" class="col-sm-2 control-label">Пароль</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="pass" placeholder="Пароль">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> Запомнить меня
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">Подтвердить</button>
</div>
</div>
</form>
Пример
Чекбоксы и радиокнопки
Чекбоксы используются для выбора нескольких параметров, радиокнопки — для выбора единственного варианта.
<div class="checkbox"> <label> <input type="checkbox" value="check1"> Обычный чекбокс, который можно отметить </label> </div> <div class="checkbox disabled"> <label> <input type="checkbox" value="check2" disabled> Заблокированный чекбокс, не отмечается </label> </div>
Пример
И аналогичный пример для радиокнопок:
<div class="radio"> <label> <input type="radio" name="optionsRadios" id="radio1" value="option1" checked> Первый элемент списка из радиокнопок, её можно выбирать </label> </div> <div class="radio"> <label> <input type="radio" name="optionsRadios" id="radio22" value="option2" disabled> Вторая опция списка, заблокированная </label> </div> <div class="radio disabled"> <label> <input type="radio" name="optionsRadios" id="radio3" value="option3"> Третья смешная опция </label> </div>
Пример
Чтобы заблокировать выбор чекбокса или радиокнопки, им добавляют атрибут disabled.
Строчные чекбоксы и радиокнопки
Используйте классы .checkbox-inline и .radio-inline для того, чтобы сделать эти элементы строчными:
<label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox1" value="option1"> 1 </label> <label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox2" value="option2"> 2 </label> <label class="checkbox-inline"> <input type="checkbox" id="inlineCheckbox3" value="option3"> 3 </label>
Пример
Или так
<label class="radio-inline"> <input type="radio" name="inlineRadioOptions" id="radio1" value="option1"> 1 </label> <label class="radio-inline"> <input type="radio" name="inlineRadioOptions" id="radio2" value="option2"> 2 </label> <label class="radio-inline"> <input type="radio" name="inlineRadioOptions" id="radio3" value="option3"> 3 </label>
Пример
Выпадающие списки
Здесь всё предельно просто: тегу <select> нужно назначить класс .form-control.
<select class="form-control"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select>
Пример
Если вы хотите добавить списку возможность выбора нескольких вариантов, добавьте ему атрибут multiple:
<select class="form-control"multiple> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> </select>
Пример
Статические надписи вместо полей
Поля формы можно заменять текстовыми элементами, для этого используется класс .form-control-static для элемента :
<form class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label">Электропочта</label> <div class="col-sm-10"> <p class="form-control-static">email@example.com</p> </div> </div> <div class="form-group"> <label for="pass" class="col-sm-2 control-label">Пароль</label> <div class="col-sm-10"> <input type="password" class="form-control" id="pass" placeholder="Пароль"> </div> </div> </form>
Пример
Контекстные классы
В Bootstrap есть три класса для оформления различных состояний полей в форме:
- успех, класс
.has-success - предупреждение, класс
.has-warning - ошибка, класс
.has-error
.form-group:<div class="form-group has-success"> <label class="control-label" for="succ">Поле без ошибок</label> <input type="text" class="form-control" id="succ"> </div> <div class="form-group has-warning"> <label class="control-label" for="warn">Поле с предупреждением</label> <input type="text" class="form-control" id="warn"> </div> <div class="form-group has-error"> <label class="control-label" for="err">Поле с ошибкой</label> <input type="text" class="form-control" id="err"> </div> <div class="has-success"> <div class="checkbox"> <label> <input type="checkbox" id="check-succ" value="option1"> Чекбокс без ошибок </label> </div> </div> <div class="has-warning"> <div class="checkbox"> <label> <input type="checkbox" id="check-warn" value="option1"> чекбокс с предупреждением </label> </div> </div> <div class="has-error"> <div class="checkbox"> <label> <input type="checkbox" id="checkboxError" value="option1"> Чекбокс с ошибкой </label> </div> </div>
Пример
Размеры полей
Чтобы поменять размер элемента формы, ему можно назначить один из классов:
.input-sm
.input-lg
<form>
<div class="row">
<div class="col-xs-6">
<input type="text" class="form-control input-lg" placeholder="Большой">
</div>
<div class="col-xs-6">
<select class="form-control input-lg">
<option>Большой - 1</option>
<option>Большой - 2</option>
</select>
</div>
</div>
<br />
<div class="row">
<div class="col-xs-6">
<input type="text" class="form-control" placeholder="Средний">
</div>
<div class="col-xs-6">
<select class="form-control">
<option>Средний - 1</option>
<option>Средний - 2</option>
</select>
</div>
</div>
<br />
<div class="row">
<div class="col-xs-6">
<input type="text" class="form-control input-sm" placeholder="Маленький">
</div>
<div class="col-xs-6">
<select class="form-control input-sm">
<option>Маленький - 1</option>
<option>Маленький - 2</option>
</select>
</div>
</div>
</form>
Пример
Комментариев нет:
Отправить комментарий