BOOTSTRAP 基础教程
BOOTSTRAP 高级教程
BOOTSTRAP 示例
BOOTSTRAP 档案

Bootstrap 自定义表单

在本教程中,您将学习如何使用 Bootstrap 创建自定义表单控件。

创建自定义表单控件

Bootstrap 使您能够自定义浏览器的默认表单控件以创建更优雅的表单布局。 现在,您可以创建完全自定义且跨浏览器兼容的单选按钮和复选框、文件输入、选择下拉菜单、范围输入等。

在以下部分中,您将看到如何一一创建这些自定义表单元素。

创建自定义复选框

要创建自定义复选框,请将每个复选框 <input> 及其对应的 <label> 包装在 <div> 元素中,并应用如下示例所示的类:

<div class="form-check">
    <input type="checkbox" class="form-check-input" name="customCheck" id="customCheck1">
    <label class="form-check-label" for="customCheck1">Custom checkbox</label>
</div>
<div class="form-check">
    <input type="checkbox" class="form-check-input" name="customCheck" id="customCheck2" checked>
    <label class="form-check-label" for="customCheck2">Another custom checkbox</label>
</div>

— 上面示例的输出将如下所示:


创建自定义单选按钮

同样,您可以使用 Bootstrap 创建自定义单选按钮,如下所示:

<div class="form-check">
    <input type="radio" class="form-check-input" name="customRadio" id="customRadio1">
    <label class="form-check-label" for="customRadio1">Custom radio</label>
</div>
<div class="form-check">
    <input type="radio" class="form-check-input" name="customRadio" id="customRadio2" checked>
    <label class="form-check-label" for="customRadio2">Another custom radio</label>
</div>

— 上面示例的输出将如下所示:


内嵌复选框和单选按钮

您还可以通过在包装器 .form-check 元素上添加类 .form-check-inline 来内联这些自定义复选框和单选按钮。

以下示例将显示内联复选框(即在同一行中)。

<div class="form-check form-check-inline">
    <input type="checkbox" class="form-check-input" name="customCheck" id="customCheck1">
    <label class="form-check-label" for="customCheck1">Custom checkbox</label>
</div>
<div class="form-check form-check-inline">
    <input type="checkbox" class="form-check-input" name="customCheck" id="customCheck2" checked>
    <label class="form-check-label" for="customCheck2">Another custom checkbox</label>
</div>

— 上面示例的输出将如下所示:

同样,您可以将单选按钮内嵌,如下例所示:

<div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" name="customRadio" id="customRadio1">
    <label class="form-check-label" for="customRadio1">Custom radio</label>
</div>
<div class="form-check form-check-inline">
    <input type="radio" class="form-check-input" name="customRadio" id="customRadio2" checked>
    <label class="form-check-label" for="customRadio2">Another custom radio</label>
</div>

— 上面示例的输出将如下所示:


禁用自定义复选框和单选

自定义复选框和单选按钮也可以禁用。 只需将布尔属性 disabled 添加到 <input> 元素,如下例所示:

<div class="form-check">
    <input type="checkbox" class="form-check-input" id="customCheck" disabled>
    <label class="form-check-label" for="customCheck">Disabled custom checkbox</label>
</div>
<div class="form-check">
    <input type="radio" class="form-check-input" id="customRadio" disabled>
    <label class="form-check-label" for="customRadio">Disabled custom radio</label>
</div>

— 上面示例的输出将如下所示:


创建拨动开关

开关标记类似于自定义复选框—唯一的区别是—它使用 .form-switch 类来呈现切换开关。 开关还支持 disabled 属性。

让我们试试下面的例子来了解它的基本工作原理:

<div class="form-check form-switch">
    <input class="form-check-input" type="checkbox" id="switchDefault">
    <label class="form-check-label" for="switchDefault">Default switch checkbox</label>
</div>
<div class="form-check form-switch">
    <input class="form-check-input" type="checkbox" id="switchChecked" checked>
    <label class="form-check-label" for="switchChecked">Checked switch checkbox</label>
</div>
<div class="form-check form-switch">
    <input class="form-check-input" type="checkbox" id="switchDisabled" disabled>
    <label class="form-check-label" for="switchDisabled">Disabled switch checkbox</label>
</div>

— 上面示例的输出将如下所示:


创建自定义选择菜单

您还可以通过在 <select> 元素上添加类 .form-select 来自定义选择下拉菜单。 但是,这种自定义样式仅限于 <select> 的初始外观,并且由于浏览器限制不能修改 <option>

<select class="form-select">
    <option selected>Custom select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

— 上面示例的输出将如下所示:

您还可以在自定义选择上添加 disabled 属性,使其外观变灰并删除指针事件,如下例所示:

<select class="form-select" disabled>
    <option selected>Custom select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

— 上面示例的输出将如下所示:

您还可以使用类 .form-select-lg.form-select-sm 创建自定义选择的大小变体以匹配类似大小的 Bootstrap 的文本输入 的高度 分别在 <select> 元素上。 让我们看一下下面的例子:

<select class="form-select form-select-lg">
    <option selected>Large custom select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>
<select class="form-select mt-3">
    <option selected>Default custom select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>
<select class="form-select form-select-sm mt-3">
    <option selected>Small custom select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
</select>

— 上面示例的输出将如下所示:

Bootstrap 自定义选择也支持 multiplesize 属性,如普通选择:

<select class="form-select" size="3" multiple>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
    <option value="4">Four</option>
</select>

创建自定义范围输入

要创建自定义范围输入,只需将类 .form-range 应用于 <input type="range">

<label for="customRange">Custom range</label>
<input type="range" class="form-range" id="customRange">

— 上面示例的输出将如下所示:

您还可以在范围输入上添加 disabled 属性,使其呈现灰色外观并删除指针事件,如下例所示:

<label for="customRange">Disabled range</label>
<input type="range" class="form-range" id="customRange" disabled>

— 上面示例的输出将如下所示:

设置最小值和最大值

默认情况下,范围输入具有 min 和 max 的隐含值——分别为 0 和 100。 但是,您可以为使用 minmax 属性的那些指定新值。

此外,默认情况下,范围输入"捕捉"到整数值。 要更改此设置,您可以指定 step 值。 在以下示例中,我们使用 step="0.5" 将步数增加了一倍。

<label for="customRange">Custom range</label>
<input type="range" class="form-range" min="0" max="10" step="0.5" id="customRange">
Advertisements