Plugin de formulários
@tailwindcss/forms é uma versão 1:1 PHP do plugin oficial de formulários. Ele aplica uma redefinição opinativa aos controles de formulário — campos de texto, áreas de texto, listas de seleção, caixas de seleção e botões de opção — estabelecendo uma base consistente (redefinição da aparência, borda, espaçamento interno, anel de foco, chevron personalizado nas listas de seleção e ícones para caixas de seleção e botões de opção) que você pode então substituir com utilitários.
Uso
Carregue o plugin com @plugin e importe a camada de utilitários:
use TailwindPHP\tw;
$css = tw::generate(
'<input class="form-input"><select class="form-select"></select>',
'@plugin "@tailwindcss/forms"; @import "tailwindcss/utilities.css";'
);
Estratégia
A opção strategy controla como os estilos são aplicados:
| Estratégia | Comportamento |
|---|---|
base |
Aplica estilos globalmente aos elementos nativos de formulário com seletores como [type='text'], textarea e select. |
class |
Aplica estilos somente às classes form-* explícitas, deixando intactos os elementos sem classe. |
Quando strategy é omitida, as duas estratégias são aplicadas: os elementos nativos recebem a redefinição base e as classes form-* também ficam disponíveis. Defina uma única estratégia para desativar a outra:
@plugin "@tailwindcss/forms" {
strategy: "class";
}
Estratégia por classe
Com a estratégia class (ou a padrão), aplique explicitamente estas classes aos elementos que deseja estilizar:
| Classe | Elemento |
|---|---|
form-input |
Campos de entrada semelhantes a 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 classe redefine a aparência do controle e define bordas, espaçamento interno e um anel de foco; form-select adiciona uma imagem de fundo com chevron, e form-checkbox/form-radio adicionam ícones para o estado marcado. Substitua qualquer um desses estilos com utilitários comuns (por exemplo, class="form-input rounded-lg border-gray-300").
Consulte Plugins para ver a diretiva @plugin e os detalhes de carregamento.