浮动标签

创建浮动在输入字段上的精美简单的表单标签。

例子

将一对 <input class="form-control"><label> 元素包裹在 .form-floating 中,以使用 Bootstrap 的文本表单字段启用浮动标签。每个 <input> 都需要一个占位符,因为我们的纯 CSS 浮动标签方法使用 :placeholder-shown 伪元素。另请注意,<input> 必须先出现,以便我们可以使用同级选择器(例如 ~)。

<div class="form-floating mb-3">
        <input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
        <label for="floatingInput">邮箱地址</label>
      </div>
      <div class="form-floating">
        <input type="password" class="form-control" id="floatingPassword" placeholder="密码">
        <label for="floatingPassword">密码</label>
      </div>

当已经定义了一个值时,<label>s 会自动调整到它们的浮动位置。

<form class="form-floating">
        <input type="email" class="form-control" id="floatingInputValue" placeholder="name@example.com" value="test@example.com">
        <label for="floatingInputValue">有值的输入框</label>
      </form>

表单验证样式也可以按预期工作。

<form class="form-floating">
        <input type="email" class="form-control is-invalid" id="floatingInputInvalid" placeholder="name@example.com" value="test@example.com">
        <label for="floatingInputInvalid">验证输入框</label>
      </form>
文本区域

默认情况下,带有 .form-control<textarea> 将与 <input> 具有相同的高度。

<div class="form-floating">
        <textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea"></textarea>
        <label for="floatingTextarea">留言</label>
      </div>

要在 <textarea> 上设置自定义高度,请不要使用 rows 属性。相反,设置一个明确的高度(内联或通过自定义 CSS)。

<div class="form-floating">
        <textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea2" style="height: 100px"></textarea>
        <label for="floatingTextarea2">留言</label>
      </div>
选择

除了 .form-control,浮动标签仅在 .form-selects 上可用。它们的工作方式相同,但与 <input> 不同的是,它们总是将 <label> 显示为浮动状态。不支持带有大小和多个的选择。

<div class="form-floating">
        <select class="form-select" id="floatingSelect" aria-label="浮动标签选择示例">
          <option selected>打开这个选择菜单</option>
          <option value="1">鹤林玉露</option>
          <option value="2">鸿猷录</option>
          <option value="3">三侠剑</option>
        </select>
        <label for="floatingSelect">与下拉选择一起工作</label>
      </div>
布局

使用 Bootstrap 网格系统时,请确保将表单元素放置在列类中。

<div class="row g-2">
        <div class="col-md">
          <div class="form-floating">
            <input type="email" class="form-control" id="floatingInputGrid" placeholder="name@example.com" value="mdo@example.com">
            <label for="floatingInputGrid">邮箱地址</label>
          </div>
        </div>
        <div class="col-md">
          <div class="form-floating">
            <select class="form-select" id="floatingSelectGrid">
              <option selected>打开这个选择菜单</option>
              <option value="1">三刻拍案惊奇</option>
              <option value="2">三十六计</option>
              <option value="3">两兄弟</option>
            </select>
            <label for="floatingSelectGrid">与下拉选择一起工作</label>
          </div>
        </div>
      </div>