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

Bootstrap 输入组

在本教程中,您将学习如何使用 Bootstrap 输入组组件。

使用 Bootstrap 扩展表单控件

Bootstrap 输入组组件是一个非常灵活和强大的组件,用于创建交互式和优雅的表单控件,但是它仅限于文本输入、选择和文本区域。

在以下部分中,您将了解如何通过在表单之前、之后或两侧添加文本、图标和按钮来扩展表单控件,以使您的表单更具吸引力。

创建前置和附加输入

输入组是使用类 .input-group 创建的。 它充当输入和插件的容器。

此外,将文本或图标包装在 <span> 元素中,并在其上应用类 .input-group-text 并将其放置在输入之前或之后。 让我们看一下下面的例子:

<div class="row g-2">
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">
                <span class="bi-person"></span>
            </span>
            <input type="text" class="form-control" placeholder="Username">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">            
            <input type="text" class="form-control" placeholder="Amount">
            <span class="input-group-text">.00</span>
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">https://www.</span>
            <input type="text" class="form-control" placeholder="Domain name">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">$</span>
            <input type="text" class="form-control" placeholder="US Dollar">
            <span class="input-group-text">.00</span>
        </div>
    </div>
</div>

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

从 Bootstrap 5 开始,您还可以添加或添加选择框下拉菜单和 textarea 表单控件。 让我们试试下面的例子,看看它是如何工作的:

<div class="row g-2">
    <div class="col-12">
        <div class="input-group">            
            <span class="input-group-text">Address</span>
            <textarea class="form-control"></textarea>
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <label class="input-group-text">Country</label>
            <select class="form-select">
                <option selected>Choose...</option>
                <option>France</option>
                <option>Germany</option>
                <option>Hungary</option>
            </select>
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <select class="form-select">
                <option selected>Choose...</option>
                <option>One</option>
                <option>Two</option>
                <option>Three</option>
            </select>
            <button type="button" class="btn btn-secondary">Submit</button>
        </div>
    </div>
</div>

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

同样,您可以将插件添加到 Bootstrap 的自定义文件输入中,如下所示:

<div class="input-group">
    <input type="file" class="form-control">
    <button type="button" class="btn btn-secondary">Upload</button>
</div>

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


复选框和单选按钮插件

同样,您可以在输入组的插件中放置复选框或单选按钮,而不是文本。

<div class="row">
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">
                <input type="checkbox" class="form-check-input mt-0">
            </span>
            <input type="text" class="form-control">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">
                <input type="radio" class="form-check-input mt-0">
            </span>
            <input type="text" class="form-control">
        </div>
    </div>
</div>

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


放置多个输入或插件

您还可以轻松地将多个输入并排放置在一个输入组中,如下所示:

<div class="input-group">
    <span class="input-group-text">Your Name</span>
    <input type="text" class="form-control" placeholder="First name">
    <input type="text" class="form-control" placeholder="Last name">
</div>

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

同样,您也可以在一个输入组中并排放置多个插件。 您还可以将其与复选框和单选输入混合使用,如下例所示:

<div class="row">
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">
                <input type="checkbox" class="form-check-input mt-0">
            </span>
            <span class="input-group-text">$</span>
            <input type="text" class="form-control">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <span class="input-group-text">$</span>
            <span class="input-group-text">0.00</span>
            <input type="text" class="form-control">
        </div>
    </div>
</div>

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


表单控件的按钮插件

您还可以将按钮添加到表单控件中,例如文本。 简单地说,在 .input-group 中放置任意数量的按钮,如下例所示:

<div class="row">
    <div class="col-5">
        <div class="input-group">
            <input type="text" class="form-control" placeholder="Search...">
            <button type="button" class="btn btn-secondary">
                <i class="bi-search"></i>
            </button>
        </div>
    </div>
    <div class="col-7">
        <div class="input-group">
            <input type="text" class="form-control" placeholder="Type something...">
            <button type="submit" class="btn btn-primary">Submit</button>
            <button type="reset" class="btn btn-danger">Reset</button>
        </div>
    </div>
</div>

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


添加按钮下拉菜单

如果您想从一个按钮执行多个操作,您甚至可以将带有下拉菜单的按钮添加到表单控件。 此外,在输入组的情况下,您不需要 .dropdown 包装器元素,否则通常需要。 让我们看一个例子:

<div class="row">
    <div class="col-6">
        <div class="input-group">
            <button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown">Dropdown</button>
            <div class="dropdown-menu">
                <a href="#" class="dropdown-item">Action</a>
                <a href="#" class="dropdown-item">Another action</a>
            </div>
            <input type="text" class="form-control">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <input type="text" class="form-control">
            <button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown">Dropdown</button>
            <div class="dropdown-menu">
                <a href="#" class="dropdown-item">Action</a>
                <a href="#" class="dropdown-item">Another action</a>
            </div>
        </div>
    </div>
</div>

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


添加分段下拉按钮组

同样,您可以定义分段下拉按钮组,其中下拉按钮放置在其他按钮旁边,如下例所示:

<div class="row">
    <div class="col-6">
        <div class="input-group">
            <button type="button" class="btn btn-outline-secondary">Action</button>
            <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown">
                <span class="visually-hidden">Toggle Dropdown</span>
            </button>
            <div class="dropdown-menu">
                <a href="#" class="dropdown-item">Action</a>
                <a href="#" class="dropdown-item">Another action</a>
            </div>
            <input type="text" class="form-control">
        </div>
    </div>
    <div class="col-6">
        <div class="input-group">
            <input type="text" class="form-control">
            <button type="button" class="btn btn-outline-secondary">Action</button>
            <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown">
                <span class="visually-hidden">Toggle Dropdown</span>
            </button>
            <div class="dropdown-menu">
                <a href="#" class="dropdown-item">Action</a>
                <a href="#" class="dropdown-item">Another action</a>
            </div>
        </div>
    </div>
</div>

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


输入组的高度大小

您还可以将 .input-group-lg.input-group-sm 等相对表单尺寸类添加到 .input-group 元素本身,以使其高度变大或变小。

.input-group 中的内容会自动调整大小 — 无需在每个元素上重复表单控件大小类。 这是一个例子:

<!-- Larger input group -->
<div class="input-group input-group-lg">
    <span class="input-group-text">Large</span>
    <input type="text" class="form-control">
</div>
        
<!-- Default input group -->
<div class="input-group mt-2">
    <span class="input-group-text">Default</span>
    <input type="text" class="form-control">
</div>
        
<!-- Smaller input group -->
<div class="input-group input-group-sm mt-2">
    <span class="input-group-text">Small</span>
    <input type="text" class="form-control">
</div>

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

Advertisements