Alerta Tailwind CSS somente CSS com variantes de informações, sucesso, aviso e erro. Estilo suave, slot de ícone e padrão descartável. WCAG AA acessível, funciona com Django, HTMX, Laravel, React e qualquer pilha.
| Aula | Tipo | Descrição |
|---|---|---|
| alert | Base | Banner de mensagem contextual |
| alert-outline | Estilo | Preenchimento transparente com borda colorida |
| alert-soft | Estilo | Fundo colorido silenciado |
| alert-ghost | Estilo | Fundo sutil sem borda |
| alert-dashed | Estilo | Estilo de borda tracejada |
| alert-pill | Estilo | Formato de comprimido totalmente arredondado |
| alert-rounded | Estilo | Arredondamento moderado |
| alert-horizontal | Modificador | Layout flexível horizontal |
| alert-vertical | Modificador | Layout empilhado verticalmente |
| alert-xs | Tamanho | Extra pequeno |
| alert-sm | Tamanho | Pequeno |
| alert-md | Tamanho | Médio (padrão) |
| alert-lg | Tamanho | Grande |
| alert-primary | Cor | Cor do tema principal |
| alert-secondary | Cor | Cor do tema secundário |
| alert-accent | Cor | Cor do tema de destaque |
| alert-neutral | Cor | Cor neutra do tema |
| alert-info | Cor | Cor semântica da informação |
| alert-success | Cor | Cor semântica de sucesso |
| alert-warning | Cor | Cor semântica de aviso |
| alert-error | Cor | Cor semântica do erro |
Uso Básico
1 2 3 4 | <div role="alert" class="alert"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Alert:You have 99+ new notifications.</span> </div> |
1 2 3 4 | <div role="alert" className="alert"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Alert:You have 99+ new notifications.</span> </div> |
Cores de alerta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <!-- Default --> <div role="alert" class="alert"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>This is a Default Alert.</span> </div> <!-- Primary --> <div role="alert" class="alert alert-primary"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 15V3"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="m7 10 5 5 5-5"/></svg> <span>This is a Primary Alert.</span> </div> <!-- Secondary --> <div role="alert" class="alert alert-secondary"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>This is a Secondary Alert.</span> </div> <!-- Accent --> <div role="alert" class="alert alert-accent"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>This is a Accent Alert.</span> </div> <!-- Info --> <div role="alert" class="alert alert-info"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z"/><path d="m9 12 2 2 4-4"/></svg> <span>This is a Info Alert.</span> </div> <!-- Success --> <div role="alert" class="alert alert-success"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg> <span>This is a Success Alert.</span> </div> <!-- Warning --> <div role="alert" class="alert alert-warning"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/></svg> <span>This is a Warning Alert.</span> </div> <!-- Error --> <div role="alert" class="alert alert-error"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="m15 9-6 6"/><path d="m9 9 6 6"/></svg> <span>This is a Error Alert.</span> </div> <!-- Neutral --> <div role="alert" class="alert alert-neutral"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg> <span>This is a Neutral Alert.</span> </div> |
Direção de Alerta
Alerta horizontal
1 2 3 4 | <div role="alert" class="alert alert-horizontal"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Horizontal direction alert.</span> </div> |
Alerta vertical
1 2 3 4 | <div role="alert" class="alert alert-vertical"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Vertical direction alert.</span> </div> |
Formas de alerta
Alerta de pílula
1 2 3 4 | <div role="alert" class="alert alert-primary alert-pill"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Pill shape alert component.</span> </div> |
Alerta arredondado
1 2 3 4 | <div role="alert" class="alert alert-success alert-rounded"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Rounded shape alert component.</span> </div> |
Estilos de alerta
Alertas suaves
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <div role="alert" class="alert alert-soft"> <span>You have 99+ new notifications.</span> </div> <div role="alert" class="alert alert-primary alert-soft"> <span>New version of UI update is available.</span> </div> <div role="alert" class="alert alert-secondary alert-soft"> <span>Trial period active: 14 days remaining.</span> </div> <div role="alert" class="alert alert-accent alert-soft"> <span>Your subscription will renew in 3 days.</span> </div> <div role="alert" class="alert alert-info alert-soft"> <span>Note: All components are WCAG compliant.</span> </div> <div role="alert" class="alert alert-success alert-soft"> <span>Success: Frutjam UI installed successfully.</span> </div> <div role="alert" class="alert alert-warning alert-soft"> <span>Warning: Invalid email address. Please Retry.</span> </div> <div role="alert" class="alert alert-error alert-soft"> <span>Error: Your session has expired. Log in again.</span> </div> <div role="alert" class="alert alert-neutral alert-soft"> <span>Profile 80% complete. Add a photo to finish.</span> </div> |
Alertas de esboço
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <div role="alert" class="alert alert-outline"> <span>You have 99+ new notifications.</span> </div> <div role="alert" class="alert alert-primary alert-outline"> <span>New version of UI update is available.</span> </div> <div role="alert" class="alert alert-secondary alert-outline"> <span>Trial period active: 14 days remaining.</span> </div> <div role="alert" class="alert alert-accent alert-outline"> <span>Your subscription will renew in 3 days.</span> </div> <div role="alert" class="alert alert-info alert-outline"> <span>Note: All components are WCAG compliant.</span> </div> <div role="alert" class="alert alert-success alert-outline"> <span>Success: Frutjam UI installed successfully.</span> </div> <div role="alert" class="alert alert-warning alert-outline"> <span>Warning: Invalid email address. Please Retry.</span> </div> <div role="alert" class="alert alert-error alert-outline"> <span>Error: Your session has expired. Log in again.</span> </div> <div role="alert" class="alert alert-neutral alert-outline"> <span>Profile 80% complete. Add a photo to finish.</span> </div> |
Alertas tracejados
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <div role="alert" class="alert alert-dashed"> <span>You have 99+ new notifications.</span> </div> <div role="alert" class="alert alert-primary alert-dashed"> <span>New version of UI update is available.</span> </div> <div role="alert" class="alert alert-secondary alert-dashed"> <span>Trial period active: 14 days remaining.</span> </div> <div role="alert" class="alert alert-accent alert-dashed"> <span>Your subscription will renew in 3 days.</span> </div> <div role="alert" class="alert alert-info alert-dashed"> <span>Note: All components are WCAG compliant.</span> </div> <div role="alert" class="alert alert-success alert-dashed"> <span>Success: Frutjam UI installed successfully.</span> </div> <div role="alert" class="alert alert-warning alert-dashed"> <span>Warning: Invalid email address. Please Retry.</span> </div> <div role="alert" class="alert alert-error alert-dashed"> <span>Error: Your session has expired. Log in again.</span> </div> <div role="alert" class="alert alert-neutral alert-dashed"> <span>Profile 80% complete. Add a photo to finish.</span> </div> |
Alertas fantasmas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <div role="alert" class="alert alert-ghost"> <span>You have 99+ new notifications.</span> </div> <div role="alert" class="alert alert-primary alert-ghost"> <span>New version of UI update is available.</span> </div> <div role="alert" class="alert alert-secondary alert-ghost"> <span>Trial period active: 14 days remaining.</span> </div> <div role="alert" class="alert alert-accent alert-ghost"> <span>Your subscription will renew in 3 days.</span> </div> <div role="alert" class="alert alert-info alert-ghost"> <span>Note: All components are WCAG compliant.</span> </div> <div role="alert" class="alert alert-success alert-ghost"> <span>Success: Frutjam UI installed successfully.</span> </div> <div role="alert" class="alert alert-warning alert-ghost"> <span>Warning: Invalid email address. Please Retry.</span> </div> <div role="alert" class="alert alert-error alert-ghost"> <span>Error: Your session has expired. Log in again.</span> </div> <div role="alert" class="alert alert-neutral alert-ghost"> <span>Profile 80% complete. Add a photo to finish.</span> </div> |
Layout e comportamento do alerta
Alertas de largura total
Use a classe de utilitário w-full para fazer um alerta abranger toda a largura do seu contêiner. Isso funciona com todas as variantes de cores e estilos.
Somente CSS, sem necessidade de JavaScript. WCAG AA acessível e independente de estrutura - funciona com Django, HTMX, Laravel, React e qualquer pilha.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <div role="alert" class="alert w-full"> <span>You have 99+ new notifications.</span> </div> <div role="alert" class="alert alert-primary w-full"> <span>New version of UI update is available.</span> </div> <div role="alert" class="alert alert-secondary w-full"> <span>Trial period active: 14 days remaining.</span> </div> <div role="alert" class="alert alert-accent w-full"> <span>Your subscription will renew in 3 days.</span> </div> <div role="alert" class="alert alert-info w-full"> <span>Note: All components are WCAG compliant.</span> </div> <div role="alert" class="alert alert-success w-full"> <span>Success: Frutjam UI installed successfully.</span> </div> <div role="alert" class="alert alert-warning w-full"> <span>Warning: Invalid email address. Please Retry.</span> </div> <div role="alert" class="alert alert-error w-full"> <span>Error: Your session has expired. Log in again.</span> </div> <div role="alert" class="alert alert-neutral w-full"> <span>Profile 80% complete. Add a photo to finish.</span> </div> |
Empilhamento de alertas responsivos
Esse alerta é empilhado verticalmente em dispositivos móveis e expandido horizontalmente em computadores para otimizar o uso da tela.
1 2 3 4 5 6 7 8 | <div role="alert" class="alert alert-vertical sm:alert-horizontal"> <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></svg> <span>Add a profile photo to reach 100%.</span> <div class="space-x-1.5"> <button class="btn btn-sm">Skip</button> <button class="btn btn-sm btn-primary">Upload</button> </div> </div> |
Alerta com conteúdo rico
1 2 3 4 5 6 7 8 | <div role="alert" class="alert alert-vertical sm:alert-horizontal w-full"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"/><rect x="2" y="4" width="20" height="16" rx="2"/></svg> <div> <h3 class="font-bold">New Emails!</h3> <div class="text-xs">You have 4 unread emails</div> </div> <button class="btn btn-sm">View</button> </div> |
Usando Claude Code, Cursor ou outro editor de IA?
Cherry MCP fornece ao seu editor de IA os nomes exatos das classes Alerta e a estrutura sob demanda. Chega de aulas alucinadas.