SW Core
Início CSS Componentes Animações 01 - Tema e tokens 02 - Tipografia 03 - Cores semânticas 04 - Motor de cor 05 - Paleta estendida 06 - Ícones 07 - Espaçamento 08 - Bordas 09 - Sombras 10 - Breakpoints 11 - Container 12 - Grid 13 - Flex 14 - Posição 15 - Quebra de texto 16 - Zoom 17 - Object-fit 18 - Proporção 19 - Filtros 20 - Superfície 21 - Interação 22 - Botão 23 - Avatar 24 - Badge 25 - Breadcrumb 26 - Card 27 - Divider 28 - Timeline 29 - Skeleton 30 - Stepper 31 - Segmentado 32 - Alerta (inline) 33 - CSS nativo — visão geral 34 - Entrar ao rolar (sw-revela) 35 - Barra de leitura (sw-progresso) 36 - Menu, aviso e painel (sw-popover) 37 - Modal nativo (sw-dialog) 38 - Dica ancorada (sw-dica) 39 - Sanfona nativa (sw-sanfona) 40 - Carrossel de arrastar (sw-trilho) 41 - Formulário que trava (sw-trava) 42 - Bloco que se adapta (sw-caixa) 43 - Tabs 44 - Dropdown 45 - Navbar 46 - Sidebar 47 - Scrollspy 48 - Voltar ao topo 49 - Paginação 50 - Accordion 51 - Text Carousel 52 - Arrastar (Draggable) 53 - Chip 54 - Panel (drawer) 55 - Modal 56 - Tooltip 57 - Toast (SW.Alert) 58 - Progress 59 - Rating (estrelas) 60 - LGPD / Cookies 61 - Campo de formulário 62 - Validação inline (matinp) 63 - Select (JS) 64 - Máscara de campo 65 - Validação de formulário 66 - Textarea auto-resize 67 - Contador de caracteres 68 - Upload de arquivo 69 - Editor de texto rico 70 - Recorte de imagem 71 - Lightbox 72 - Slider de imagens 73 - Feed do Instagram 74 - Tabela avançada 75 - Infinite Scroll 76 - AJAX declarativo 77 - Cotação de moedas 78 - Máquina de escrever 79 - Realce de código 80 - Tema dia/noite 81 - Conteúdo responsivo 82 - Lazy load de imagem 83 - Preloader 84 - Efeitos de entrada 85 - Texto animado 86 - Mini-componentes animados 87 - Cascade 88 - Pin (prende na tela) 89 - Fixed (gruda no topo) 90 - Track (fileira horizontal) 91 - Sections (tela cheia) 92 - Frames (sprite no scroll) 93 - SVG Draw (traço) 94 - Motion Path 95 - Tilt (3D no mouse) 96 - Magnetic (ímã) 97 - Glow (segue o mouse) 98 - Cursor personalizado 99 - Canvas (fundo generativo) 100 - Lottie 101 - Rive 102 - Countdown 103 - Counter 104 - Transição de página
36
SWCore /
CSS /
Menu, aviso e painel (sw-popover)
Menu, aviso e painel (sw-popover) CSS
Abre, fecha no Esc e ao clicar fora — sem JavaScript. Entrada animada.
O que é
O atributo HTML popover é do próprio navegador: fica por cima de tudo, fecha sozinho e é acessível por teclado. O sw-popover dá o visual do SWCore e a animação de entrada/saída.
Como funciona
O botão aponta para o id com popovertarget. A animação usa @starting-style e transition-behavior: allow-discrete — sem suporte, abre e fecha sem animar. Para um popover que não fecha ao clicar fora, use popover="manual".
Exemplos
Menu, aviso e painel
Ao vivo
Menu ▾
Aviso
Painel lateral
✅ Pedido salvo. Clique fora para fechar.
Filtros Painel lateral nativo.
Fechar
<button sw-btn="pri" popovertarget="menu">Menu</button>
<div id="menu" popover sw-popover="menu">
<a href="/perfil">Meu perfil</a>
<a href="/sair">Sair</a>
</div>
<div id="aviso" popover sw-popover="toast">Salvo!</div>
<div id="filtros" popover sw-popover="painel">...</div>
Atributos
popover + sw-popover="menu"
menu suspenso (canto superior direito por padrão; ajuste com top/right)
popover + sw-popover="toast"
aviso no canto inferior direito
popover + sw-popover="painel"
painel lateral com fundo escurecido
popovertarget="id" (no botão)
abre/fecha
popovertargetaction="show\|hide"
só abre / só fecha
API (JavaScript)
el.showPopover() / hidePopover() / togglePopover()
controle por código, se precisar
Limitações — o que ele não faz
Para avisos que somem sozinhos e fila de mensagens, continue usando SWAlert .