Complemento de formularios
@tailwindcss/forms es un port 1:1 del complemento oficial de formularios de PHP. Proporciona un restablecimiento predefinido para los controles de formulario —campos de texto, áreas de texto, menús desplegables, casillas y botones de opción— y les da una base coherente (restablece la apariencia, el borde, el relleno, el anillo de enfoque, el chevrón personalizado del menú desplegable y los iconos de casillas y botones de opción) que luego puedes sobrescribir con utilidades.
Uso
Carga el complemento con @plugin e importa la capa de utilidades:
use TailwindPHP\tw;
$css = tw::generate(
'<input class="form-input"><select class="form-select"></select>',
'@plugin "@tailwindcss/forms"; @import "tailwindcss/utilities.css";'
);
Estrategia
La opción strategy controla cómo se aplican los estilos:
| Estrategia | Comportamiento |
|---|---|
base |
Aplica estilos globales a los elementos de formulario nativos mediante selectores como [type='text'], textarea y select. |
class |
Aplica estilos solo a las clases form-* explícitas y deja intactos los elementos sin clase. |
Si se omite strategy, se aplican ambas estrategias: los elementos nativos reciben el restablecimiento base y las clases form-* también están disponibles. Elige una sola estrategia para excluir la otra:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
Estrategia de clases
Con la estrategia class (o la predeterminada), aplica estas clases explícitamente a los elementos que quieras estilizar:
| Clase | Elemento |
|---|---|
form-input |
Campos de entrada de texto |
form-textarea |
<textarea> |
form-select |
<select> |
form-multiselect |
<select multiple> |
form-checkbox |
<input type="checkbox"> |
form-radio |
<input type="radio"> |
$css = tw::generate(
'
<input class="form-input">
<textarea class="form-textarea"></textarea>
<select class="form-select"></select>
<select class="form-multiselect" multiple></select>
<input type="checkbox" class="form-checkbox">
<input type="radio" class="form-radio">
',
'
@plugin "@tailwindcss/forms" {
strategy: "class";
}
@import "tailwindcss/utilities.css";
'
);
Cada clase restablece la apariencia del control y define bordes, relleno y un anillo de enfoque; form-select añade una imagen de fondo con chevrón, y form-checkbox/form-radio añaden iconos para el estado marcado. Puedes sobrescribirlos con utilidades normales (por ejemplo, class="form-input rounded-lg border-gray-300").
Consulta Complementos para conocer la directiva @plugin y cómo cargar complementos.