Bootstrap学习之详解常用表单组件

1. Bootstrap常用表单组件

Bootstrap是一个强大的前端框架,它提供了丰富的表单组件,能够帮助开发者快速构建漂亮、实用的表单页面。本文将详解Bootstrap常用表单组件,让读者学会如何运用它们去开发表单页面。

2. 基础组件

2.1 文本框

文本框是表单页面最常用的元素之一,Bootstrap提供了多种款式和设置,满足不同场景下的需求。

首先,我们来看一下最基本的文本框:

<div class="form-group">

<label for="exampleFormControlInput1">Email address</label>

<input type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com">

</div>

可以明显看出,一个文本框需要放置在一个form-group的容器中,并且需要加上form-control类。如果需要一个密码框,只需将type属性设置为password:

<div class="form-group">

<label for="exampleFormControlInput1">Password</label>

<input type="password" class="form-control" id="exampleFormControlInput1">

</div>

接下来,我们来看一下一些常用的属性设置。例如,设置文本框的尺寸,只需设置input的class属性为form-control-sm(小型)、form-control(默认)、form-control-lg(大型)。

<!-- 小型文本框 -->

<div class="form-group">

<input type="text" class="form-control form-control-sm" placeholder="Small input">

</div>

<!-- 默认文本框 -->

<div class="form-group">

<input type="text" class="form-control" placeholder="Default input">

</div>

<!-- 大型文本框 -->

<div class="form-group">

<input type="text" class="form-control form-control-lg" placeholder="Large input">

</div>

此外,Bootstrap还提供了其他一些常用的设置,如添加前缀和后缀文本、设置只读和禁用等。例如,要在文本框前添加一个表单前缀,只需通过input-group实现:

<div class="form-group">

<div class="input-group">

<div class="input-group-prepend">

<span class="input-group-text">@</span>

</div>

<input type="text" class="form-control" placeholder="Username">

</div>

</div>

要在文本框后添加一个表单后缀,只需用input-group-append代替input-group-prepend。设置只读和禁用非常简单,只需在input中设置readonly或disabled属性即可。

2.2 下拉菜单

下拉菜单是另一个常用的表单元素,Bootstrap提供了许多选项,允许开发者自定义下拉菜单的外观和行为。

下面是一个简单的下拉菜单:

<div class="form-group">

<label for="exampleFormControlSelect1">Example select</label>

<select class="form-control" id="exampleFormControlSelect1">

<option>1</option>

<option>2</option>

<option>3</option>

<option>4</option>

<option>5</option>

</select>

</div>

可以看到,一个下拉菜单包含一个label标签和一个select标签,select标签内包含多个option标签,每个option标签定义了下拉菜单的一个选项。

如果要添加多选功能,只需在select标签中添加multiple属性:

<div class="form-group">

<label for="exampleFormControlSelect2">Example multiple select</label>

<select multiple class="form-control" id="exampleFormControlSelect2">

<option>1</option>

<option>2</option>

<option>3</option>

<option>4</option>

<option>5</option>

</select>

</div>

Bootstrap还提供了一些选项,如禁用某个选项、在选项中添加分组、添加表单前后缀等。下面是一个例子,演示了如何添加表单前缀和后缀以及禁用某些选项:

<div class="form-group">

<div class="input-group">

<div class="input-group-prepend">

<span class="input-group-text">Options</span>

</div>

<select class="custom-select" id="inputGroupSelect01">

<option selected>Choose...

<option value="1">One</option>

<option value="2">Two</option>

<option value="3">Three</option>

<option disabled>...

<option value="4">Four</option>

</select>

</div>

</div>

2.3 单选框和复选框

单选框和复选框是另一组常用的表单元素,它们都用于允许用户进行选项选择。

下面是一个简单的示例,展示了如何创建一个单选框和一个复选框:

<div class="form-check">

<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1" checked>

<label class="form-check-label" for="exampleRadios1">

Option one is this and that—be sure to include why it's great

</label>

</div>

<div class="form-check">

<input class="form-check-input" type="checkbox" value="" id="defaultCheck1">

<label class="form-check-label" for="defaultCheck1">

Default checkbox

</label>

</div>

可以看到,一个单选框和一个复选框都需要一个label和一个input标签。默认情况下,单选框和复选框的外观比较简单,但我们可以使用form-check、form-check-inline等类来自定义样式,类似于表单类中的样式自定义。

3. 高级组件

3.1 输入框组

在一些复杂的表单页面中,我们需要将多个输入框放在一起,形成一个输入框组。Bootstrap提供了一组类,称为input-group,用于实现这个功能。

下面是一个简单的示例:

<div class="input-group mb-3">

<div class="input-group-prepend">

<span class="input-group-text" id="basic-addon1">@</span>

</div>

<input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">

</div>

在上面的代码中,我们使用了input-group和input-group-prepend类,将一个文本框和一个前缀文本结合成了一个输入框组。用户的输入会显示在文本框中,前缀文本用于提供一些上下文信息。

input-group还可以结合下拉菜单一起使用,实现下拉菜单和文本框的联动。

3.2 表单验证

表单验证是Web表单中必不可少的一环。Bootstrap提供了一组类,用于实现表单验证。通过在表单元素上添加相应的类,可以将表单验证功能集成到Bootstrap表单中。

例如,下面的代码演示了如何将文本框和表单验证结合使用:

<form>

<div class="form-group">

<label for="exampleInputEmail1">Email address</label>

<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">

<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>

</div>

<div class="form-group">

<label for="exampleInputPassword1">Password</label>

<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">

</div>

<div class="form-group form-check">

<input type="checkbox" class="form-check-input" id="exampleCheck1">

<label class="form-check-label" for="exampleCheck1">Check me out</label>

</div>

<button type="submit" class="btn btn-primary">Submit</button>

</form>

在上面的代码中,我们通过type="email"来限制输入框只能输入email地址,以及在input元素中添加aria-describedby属性和form-text类来添加上下文说明。此外,我们还可以使用其他类,如is-valid和is-invalid,来表示输入是否合法。它们会在输入框的外部添加相应的样式,提示用户当前输入的正确性。例如,下面的代码中is-valid和is-invalid类用于表示输入是否合法:

<div class="form-group">

<label for="validationServer01">First name</label>

<input type="text" class="form-control is-valid" id="validationServer01" required>

<div class="valid-feedback">

Looks good!

</div>

<div class="invalid-feedback">

Please enter a valid first name.

</div>

</div>

3.3 表单自动完成

表单自动完成是一种非常方便的功能,它可以自动填充输入框中的数据。Bootstrap提供了一个名为autocomplete的属性,用于开启表单自动完成功能。

下面是一个简单的示例:

<form>

<div class="form-group">

<label for="exampleFormControlInput1">Email address</label>

<input type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com" autocomplete="email">

</div>

</form>

在上面的代码中,我们使用了autocomplete属性,并将值设置为"email"。这告诉浏览器,该输入框是一个电子邮件地址,自动填充时应该使用与Email相对应的值。

4. 总结

本文详细介绍了Bootstrap常用的几个表单组件,包括文本框、下拉菜单、单选框、复选框、输入框组、表单验证和表单自动完成。希望读者可以通过这篇文章,掌握这些表单组件的使用方法,并在实际开发中灵活运用,开发出更加漂亮、实用的表单页面。