Dica de ferramenta CSS do Tailwind somente CSS com posicionamento superior, inferior, esquerdo e direito. Variantes de cores, sem necessidade de JavaScript. WCAG AA acessível, funciona com Django, HTMX, Laravel, React e qualquer pilha.
Os componentes da dica de ferramenta exibem informações adicionais quando os usuários passam o mouse ou focam em um elemento. Construídas com atributos HTML semânticos e CSS, as dicas de ferramentas melhoram a experiência do usuário, fornecendo ajuda específica ao contexto sem sobrecarregar a interface. O sistema de dicas de ferramentas Frutjam suporta múltiplas posições, conteúdo personalizado e animações suaves para descoberta contínua de informações.
Somente CSS, sem necessidade de JavaScript. WCAG AA acessível e independente de estrutura - funciona com Django, HTMX, Laravel, React e qualquer pilha.
Observação: as dicas de ferramentas dependem de :hover e :focus, que não estão disponíveis em dispositivos móveis/de toque. Para layouts voltados para dispositivos móveis, use a variante responsiva lg:tooltip para que a dica de ferramenta seja ativada apenas em desktops (telas grandes e superiores). Em telas menores, considere usar um padrão de divulgação diferente, como popover ou modal.
| Aula | Tipo | Descrição |
|---|---|---|
| tooltip | Base | Wrapper que revela conteúdo de data-tip ao passar o mouse/foco |
| tooltip-content | Modificador | Conteúdo HTML personalizado dentro do balão de dicas |
| tooltip-top | Modificador | Abre acima do gatilho (padrão) |
| tooltip-bottom | Modificador | Abre abaixo do gatilho |
| tooltip-left | Modificador | Abre à esquerda do gatilho |
| tooltip-right | Modificador | Abre à direita do gatilho |
| tooltip-start | Modificador | Abre para o lado inicial lógico |
| tooltip-end | Modificador | Abre para o lado final lógico |
| tooltip-primary | Cor | Bolha de cor do tema principal |
| tooltip-secondary | Cor | Bolha de cor do tema secundário |
| tooltip-accent | Cor | Bolha de cores do tema de destaque |
| tooltip-neutral | Cor | Bolha de cor de tema neutro |
| tooltip-info | Cor | Bolha de cor semântica de informações |
| tooltip-success | Cor | Bolha de cor semântica de sucesso |
| tooltip-warning | Cor | Bolha de cor semântica de aviso |
| tooltip-error | Cor | Erro de bolha de cor semântica |
Dica
1 2 3 | <div class="tooltip" data-tip="Tooltip"> <button class="btn">Hover me</button> </div> |
1 2 3 | <div className="tooltip" data-tip="Tooltip"> <button className="btn">Hover me</button> </div> |
Conteúdo de dica de ferramenta personalizada
1 2 3 4 5 6 7 | <div class="tooltip tooltip-end"> <div class="tooltip-content"> <div class="text-xl">❤️</div> <div>Like</div> </div> <button class="btn">Hover me</button> </div> |
Dica com ícone
1 2 3 4 5 6 | <div class="tooltip" data-tip="Menu"> <button class="btn btn-sm"> <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="M4 5h16"/><path d="M4 12h16"/><path d="M4 19h16"/></svg> <span class="sr-only">Menu</span> </button> </div> |
Forçar dica de abertura
1 2 3 | <div class="tooltip tooltip-open" data-tip="hello"> <button class="btn">Force open</button> </div> |
Opções de posicionamento de dicas
Colocação superior
1 2 3 | <div class="tooltip tooltip-top tooltip-open" data-tip="Tooltip top"> <button class="btn">Top position</button> </div> |
Colocação correta
1 2 3 | <div class="tooltip tooltip-right tooltip-open" data-tip="Tooltip right"> <button class="btn">Right position</button> </div> |
Colocação final
1 2 3 | <div class="tooltip tooltip-end tooltip-open" data-tip="Tooltip end"> <button class="btn">End position</button> </div> |
Colocação inferior
1 2 3 | <div class="tooltip tooltip-bottom tooltip-open" data-tip="Tooltip bottom"> <button class="btn">Bottom position</button> </div> |
Colocação à esquerda
1 2 3 | <div class="tooltip tooltip-left tooltip-open" data-tip="Tooltip left"> <button class="btn">Left position</button> </div> |
Iniciar posicionamento
1 2 3 | <div class="tooltip tooltip-start tooltip-open" data-tip="Tooltip start"> <button class="btn">Start position</button> </div> |
Variantes de cores da dica de ferramenta
Cor Primária
1 2 3 | <div class="tooltip tooltip-primary tooltip-open" data-tip="Primary"> <button class="btn btn-xs">Primary color</button> </div> |
Cor Secundária
1 2 3 | <div class="tooltip tooltip-secondary tooltip-open" data-tip="Secondary"> <button class="btn btn-xs">Secondary color</button> </div> |
Cor de destaque
1 2 3 | <div class="tooltip tooltip-accent tooltip-open" data-tip="Accent"> <button class="btn btn-xs">Accent color</button> </div> |
Cor da informação
1 2 3 | <div class="tooltip tooltip-info tooltip-open" data-tip="Info"> <button class="btn btn-xs">Info color</button> </div> |
Cor do sucesso
1 2 3 | <div class="tooltip tooltip-success tooltip-open" data-tip="Success"> <button class="btn btn-xs">Success color</button> </div> |
Cor de aviso
1 2 3 | <div class="tooltip tooltip-warning tooltip-open" data-tip="Warning"> <button class="btn btn-xs">Warning color</button> </div> |
Cor do erro
1 2 3 | <div class="tooltip tooltip-error tooltip-open" data-tip="Error"> <button class="btn btn-xs">Error color</button> </div> |
Cor Neutra
1 2 3 | <div class="tooltip tooltip-neutral tooltip-open" data-tip="Neutral"> <button class="btn btn-xs">Neutral color</button> </div> |
Dicas de ferramentas responsivas
Mostrar apenas em telas grandes com lg:tooltip
1 2 3 | <div class="lg:tooltip" data-tip="Hey there!"> <button class="btn">Hover me</button> </div> |
Ajudante JS e React
Use createTooltip de frutjam/js ou useTooltip de frutjam/react para mostrar ou ocultar uma dica de ferramenta programaticamente - útil para tours guiados ou texto de ajuda acionado.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <div class="flex gap-2 mb-4"> <button class="btn btn-sm" id="tip-show">Show</button> <button class="btn btn-sm" id="tip-hide">Hide</button> <button class="btn btn-sm" id="tip-toggle">Toggle</button> </div> <div class="tooltip" data-tip="Programmatic tooltip" id="js-tooltip"> <button class="btn">Target</button> </div> <script type="module"> import { createTooltip } from 'frutjam/js' const tip = createTooltip(document.getElementById('js-tooltip')) document.getElementById('tip-show').onclick = () => tip.show() document.getElementById('tip-hide').onclick = () => tip.hide() document.getElementById('tip-toggle').onclick = () => tip.toggle() </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import { useTooltip } from 'frutjam/react' export default function TooltipDemo() { const tooltip = useTooltip() return ( <> <div className="flex gap-2 mb-4"> <button className="btn btn-sm" onClick={tooltip.show}>Show</button> <button className="btn btn-sm" onClick={tooltip.hide}>Hide</button> <button className="btn btn-sm" onClick={tooltip.toggle}>Toggle</button> </div> <div ref={tooltip.ref} className="tooltip" data-tip="Programmatic tooltip"> <button className="btn">Target</button> </div> </> ) } |
Usando Claude Code, Cursor ou outro editor de IA?
Cherry MCP fornece ao seu editor de IA os nomes exatos das classes Dica e a estrutura sob demanda. Chega de aulas alucinadas.