Как создавать веб-формы в Bootstrap CSS [Примеры]
От опросов до форм доставки до регистрационных форм и викторин – веб-формы есть повсюду в Интернете. Они пригодятся по множеству причин. Вы можете использовать веб-формы для преобразования посетителей в потенциальных клиентов и отслеживания существующей личной информации клиентов, покупок, отзывов и ответов на опросы.
То, как вы добавите этот интерактивный элемент в свой веб-дизайн, зависит от того, как вы создаете свой сайт.
Если вы, например, создавали веб-сайт на WordPress, вы можете установить плагин для добавления форм на свой сайт. Плагин HubSpot WordPress, например, позволяет легко создавать формы на вашем сайте с помощью интуитивно понятного перетаскивания строитель. Кроме того, эти формы будут автоматически синхронизироваться с вашей CRM HubSpot, чтобы вы могли лучше управлять своими контактами.
С другой стороны, если вы создавали веб-сайт с помощью Bootstrap CSS, вы могли бы использовать классы форм для быстрого добавления форм на свой сайт. Мы подробно рассмотрим этот процесс в этом посте. Давайте начнем.
CSS-форма начальной загрузки
Благодаря готовым шаблонам, включенным в Bootstrap, создавать формы для вашего сайта очень просто. Вы можете использовать любой из предопределенных стилей форм, как показано в документации 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. В каждом примере будут показаны различные требуемые классы, макеты форм и многое другое.
Я буду использовать онлайн-редактор кода W3Schools для создания примеров, поэтому вы можете щелкнуть любую ссылку на исходный код, чтобы просмотреть полный фрагмент кода, стоящий за примером.
Пример выбора начальной загрузки
Допустим, вы хотите добавить раскрывающееся меню в существующую форму. Затем вы должны добавить следующее в свой 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, вы можете использовать плагин HubSpot WordPress.
Источник записи: https://blog.hubspot.com