Etiquetas flotantes
Cree etiquetas de formulario hermosamente simples que floten sobre sus campos de entrada.
Ejemplo
Envuelva un par de elementos <input class="form-control">
y para habilitar etiquetas flotantes con campos de formulario de texto de Bootstrap. Se requiere A en cada uno , ya que nuestro método de etiquetas flotantes de solo CSS utiliza el pseudoelemento. También tenga en cuenta que debe ir primero para que podamos utilizar un selector de hermanos (p. ej., ).<label>
.form-floating
placeholder
<input>
:placeholder-shown
<input>
~
<div class="form-floating mb-3">
<input type="email" class="form-control" id="floatingInput" placeholder="[email protected]">
<label for="floatingInput">Email address</label>
</div>
<div class="form-floating">
<input type="password" class="form-control" id="floatingPassword" placeholder="Password">
<label for="floatingPassword">Password</label>
</div>
Cuando ya hay un value
definido, <label>
los s se ajustarán automáticamente a su posición flotante.
<form class="form-floating">
<input type="email" class="form-control" id="floatingInputValue" placeholder="[email protected]" value="[email protected]">
<label for="floatingInputValue">Input with value</label>
</form>
Los estilos de validación de formularios también funcionan como se esperaba.
<form class="form-floating">
<input type="email" class="form-control is-invalid" id="floatingInputInvalid" placeholder="[email protected]" value="[email protected]">
<label for="floatingInputInvalid">Invalid input</label>
</form>
áreas de texto
Por defecto, <textarea>
s with .form-control
tendrá la misma altura que <input>
s.
<div class="form-floating">
<textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea"></textarea>
<label for="floatingTextarea">Comments</label>
</div>
Para establecer una altura personalizada en su <textarea>
, no use el rows
atributo. En su lugar, establezca un explícito height
(ya sea en línea o a través de CSS personalizado).
<div class="form-floating">
<textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea2" style="height: 100px"></textarea>
<label for="floatingTextarea2">Comments</label>
</div>
Selecciona
Aparte de .form-control
, las etiquetas flotantes solo están disponibles en .form-select
s. Funcionan de la misma manera, pero a diferencia <input>
de s, siempre mostrarán el <label>
en su estado flotante. Las selecciones con size
y multiple
no son compatibles.
<div class="form-floating">
<select class="form-select" id="floatingSelect" aria-label="Floating label select example">
<option selected>Open this select menu</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<label for="floatingSelect">Works with selects</label>
</div>
Diseño
Cuando trabaje con el sistema de cuadrícula Bootstrap, asegúrese de colocar elementos de formulario dentro de las clases de columna.
<div class="row g-2">
<div class="col-md">
<div class="form-floating">
<input type="email" class="form-control" id="floatingInputGrid" placeholder="[email protected]" value="[email protected]">
<label for="floatingInputGrid">Email address</label>
</div>
</div>
<div class="col-md">
<div class="form-floating">
<select class="form-select" id="floatingSelectGrid" aria-label="Floating label select example">
<option selected>Open this select menu</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<label for="floatingSelectGrid">Works with selects</label>
</div>
</div>
</div>
Hablar con descaro a
Variables
$form-floating-height: add(3.5rem, $input-height-border);
$form-floating-line-height: 1.25;
$form-floating-padding-x: $input-padding-x;
$form-floating-padding-y: 1rem;
$form-floating-input-padding-t: 1.625rem;
$form-floating-input-padding-b: .625rem;
$form-floating-label-opacity: .65;
$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem);
$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out;