Как создавать веб-формы в Bootstrap CSS [Примеры].
Как создавать веб-формы в Bootstrap CSS [Примеры].
От опросов до форм доставки до регистрационных форм и викторин –
То, как вы добавите этот интерактивный элемент в свой веб-дизайн, зависит от того, как вы создаете свой сайт.
Если вы, например, создавали веб-сайт на WordPress, вы можете установить плагин для добавления форм на свой сайт.
С другой стороны, если вы создавали веб-сайт с помощью
CSS-форма начальной загрузки
Благодаря готовым шаблонам, включенным в Bootstrap, создавать формы для вашего сайта очень просто. Вы можете использовать любой из предопределенных стилей форм, как показано в
Вам просто нужно добавить необходимый код в раздел body вашего файла index.html. Скажем, например, вы хотите добавить форму для сбора информации об учетной записи клиента, чтобы в следующий раз они могли войти на ваш сайт быстрее и проще. Это может выглядеть примерно так:
Вот код, который вы бы использовали:
<form> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"> </div> <div class="form-group"> <label for="exampleInputPassword1">Password</label> <input type="password" class="form-control" id="exampleInputPassword1"> </div> <div class="form-group form-check"> <input type="checkbox" class="form-check-input" id="exampleCheck1"> <label class="form-check-label" for="exampleCheck1">Remember me</label> </div> <button type="submit" class="btn btn-primary">Submit</button> </form>
Обратите внимание, что у вас есть открывающий и закрывающий теги для элемента . И в этих тегах у вас есть множество элементов HTML, включая разделители, метки, поля ввода и кнопки, которые вместе составляют форму. Чтобы они работали, они должны быть стилизованы с использованием правильных классов форм в Bootstrap.
Мы можем увидеть некоторые из них в действии в трех контейнерах приведенного выше фрагмента. Давайте разберем элементы и стили, используемые в каждом из них.
Видите первые два элемента ? Они стилизованы с помощью класса .form-control, поэтому они охватывают всю ширину страницы и реагируют на запросы. Во внешнем интерфейсе пользователь вводит свой адрес электронной почты и пароль.
Этим элементам предшествуют элементы
Третий контейнер оформлен как класс .form-group, так и класс .form-check, поскольку он содержит флажок. Чтобы создать этот флажок, элемент оформлен с использованием класса .form-check-input (вместо класса .form-control, применяемого к другим элементам ). Наконец, элемент
Наконец, есть кнопка. Для этого требуется стиль с классом кнопки, а не с классом формы.
Теперь, когда мы понимаем, как создать базовую форму в Bootstrap, давайте посмотрим, как еще вы можете изменить и расширить класс формы в некоторых примерах ниже.
Примеры CSS для начальной загрузки
Ниже приведены несколько примеров, демонстрирующих диапазон стилей форм Bootstrap. В каждом примере будут показаны различные требуемые классы, макеты форм и многое другое.
Я буду использовать
Пример выбора начальной загрузки
Допустим, вы хотите добавить раскрывающееся меню в существующую форму. Затем вы должны добавить следующее в свой HTML прямо перед
<div class="form-group"> <label for="exampleFormControlSelect1">How did you hear about us?</label> <select class="form-control" id="exampleFormControlSelect1"> <option>Select one</option> <option>Ad</option> <option>Friend</option> <option>Flyer</option> <option>TV</option> <option>Blog</option> </select> </div>
Вот результат:
Пример текстовой области начальной загрузки
Допустим, вы хотите задать пользователю тот же вопрос: «Как вы узнали о нас?» Но вместо того, чтобы предлагать ограниченный выбор ответов, вы хотите включить текстовую область, чтобы они могли писать все, что захотят. Затем вы должны добавить следующее в свой HTML прямо перед
<div class="form-group"> <label for="exampleFormControlTextarea1">How did you hear about us?</label> <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea> </div>
Вот результат:
Пример вложения Bootstrap
Если вы хотите разрешить пользователям загружать файл перед отправкой формы, вы можете использовать элемент и стилизовать его с помощью класса .form-control-file. Вы соедините его с элементом
<div class="form-group"> <label for="exampleFormControlFile1">Upload Resume and Cover Letter</label> <input type="file" class="form-control-file" id="exampleFormControlFile1"> </div>
Вот результат:
Пример сетки Bootstrap Form
Для создания более сложных форм вы можете использовать классы сетки Bootstrap. Например, предположим, что вы хотите, чтобы поля ввода для адреса электронной почты и пароля располагались рядом, а остальные элементы располагались вертикально. Вы также хотите удалить метки над полями ввода и вместо этого разместить этот текст внутри полей. Затем вы можете заменить первые два контейнера
<div class="row"> <div class="col"> <input type="text" class="form-control" placeholder="Email address"> </div> <div class="col"> <input type="text" class="form-control" placeholder="Password"> </div> </div>
Вот результат:
Обратите внимание: я добавил некоторые настройки полей в CSS, чтобы макет выглядел лучше. Вы можете увидеть этот код, щелкнув на источник.
Пример встроенной формы Bootstrap
Если вы хотите занимать меньше места, вы можете создать встроенную форму, в которой все элементы находятся в одной строке. Вы можете сделать это, добавив класс .form-inline к элементу и некоторым классам столбцов, зависящих от размера.
Вы увидите, что mb-2 был добавлен по всему коду, например, который устанавливает нижний край этих элементов в .5rem в Bootstrap. Точно так же mr-sm-2 устанавливает margin-right этих элементов на .5rem, а точку останова на small.
Давайте воспользуемся примером сверху и превратим его во встроенную форму. Вот код:
<form class="form-inline"> <label class="sr-only" for="inlineFormInputName2">Name</label> <input type="text" class="form-control mb-2 mr-sm-2" id="inlineFormInputEmail" placeholder="Email Address"> <label class="sr-only" for="inlineFormInputGroupUsername2">Email Address</label> <div class="input-group mb-2 mr-sm-2"> <input type="text" class="form-control" id="inlineFormInputPassword" placeholder="Password"> </div> <div class="form-check mb-2 mr-sm-2"> <input class="form-check-input" type="checkbox" id="inlineFormCheck"> <label class="form-check-label" for="inlineFormCheck"> Remember me </label> </div> <button type="submit" class="btn btn-primary mb-2">Submit</button> </form>
Вот результат:
Примечание. Если устройство или область просмотра, которые вы используете, имеют ширину менее 576 пикселей, элементы будут располагаться друг над другом. Если я уменьшу размер экрана до 400 пикселей, например, форма будет выглядеть так:
Пример проверки формы начальной загрузки
Предположим, вы хотите включить полезную обратную связь для пользователей, заполняющих ваши формы, например, напоминание о том, чтобы установить флажок «Запомнить меня», если они забыли перед отправкой. Вы можете сделать это, применив классы проверки к элементу Bootstrap .
Например, класс .was-validated сообщит пользователям, какие поля должны быть заполнены или отмечены перед отправкой, тогда как класс .needs-validation сообщит пользователям только об отсутствии полей после попытки отправки.
Какой бы класс вы ни использовали, поля ввода, которые были заполнены, будут иметь зеленую рамку, а поля ввода, которые не были заполнены, будут иметь красную рамку. Если вы хотите сообщить пользователям, какая именно информация отсутствует (и какая информация была успешно предоставлена), вы даже можете добавить сообщения .valid-feedback и .invalid-feedback.
В приведенном ниже примере давайте воспользуемся классом .needs-validation, чтобы пользователь знал, что чего-то не хватает.
Вот HTML, который вам нужно добавить в вашего HTML.
<form action="/action_page.php" class="needs-validation" novalidate> <div class="form-group"> <label for="email">Email Address</label> <input type="text" class="form-control" id="uname" placeholder="Enter email address" name="uname" required> <div class="valid-feedback">Thanks for entering a valid email address.</div> <div class="invalid-feedback">Please enter your email address.</div> </div> <div class="form-group"> <label for="pwd">Password</label> <input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pswd" required> <div class="valid-feedback">Thanks for entering a valid password.</div> <div class="invalid-feedback">Please enter your password.</div> </div> <div class="form-group form-check"> <label class="form-check-label"> <input class="form-check-input" type="checkbox" name="remember" required> Remember me <div class="invalid-feedback">Please check this box to continue.</div> </label> </div> <button type="submit" class="btn btn-primary">Submit</button> </form>
И вот начальный JavaScript, который вам нужно добавить ниже в вашего HTML.
<script> // Disable form submissions if there are invalid fields (function() { 'use strict'; window.addEventListener('load', function() { // Get the forms we want to add validation styles to var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } form.classList.add('was-validated'); }, false); }); }, false); })(); </script>
Вот результат:
Добавление форм на ваш Bootstrap-сайт
Веб-формы – важный элемент дизайна вашего сайта. Они могут позволить вам создавать подписки на ра новостей, принимать заказы в Интернете и отслеживать информацию как о клиентах, так и о потенциальных клиентах. Веб-формы бывают самых разных форм и размеров, отчасти потому, что существует множество различных способов их создания.
Если вы используете Bootstrap, вы можете использовать указанные выше шаблоны для создания различных форм. Или, если вы не используете фреймворк для разработки, вы можете создать его полностью с нуля. Или, если вы используете WordPress, вы можете использовать
записи: