Início CSS Componentes Animações 01 - Tema e tokens 02 - Tipografia 03 - Cores semânticas 04 - Paleta estendida 05 - Ícones 06 - Espaçamento 07 - Bordas 08 - Sombras 09 - Breakpoints 10 - Container 11 - Grid 12 - Flex 13 - Posição 14 - Quebra de texto 15 - Zoom 16 - Object-fit 17 - Proporção 18 - Filtros 19 - Superfície 20 - Interação 21 - Botão 22 - Avatar 23 - Badge 24 - Breadcrumb 25 - Card 26 - Divider 27 - Timeline 28 - Skeleton 29 - Stepper 30 - Segmentado 31 - Alerta (inline) 32 - Tabs 33 - Dropdown 34 - Navbar 35 - Sidebar 36 - Scrollspy 37 - Voltar ao topo 38 - Paginação 39 - Accordion 40 - Text Carousel 41 - Arrastar (Draggable) 42 - Chip 43 - Panel (drawer) 44 - Modal 45 - Tooltip 46 - Toast (SW.Alert) 47 - Progress 48 - Rating (estrelas) 49 - LGPD / Cookies 50 - Campo de formulário 51 - Validação inline (matinp) 52 - Select (JS) 53 - Máscara de campo 54 - Validação de formulário 55 - Textarea auto-resize 56 - Contador de caracteres 57 - Upload de arquivo 58 - Editor de texto rico 59 - Recorte de imagem 60 - Lightbox 61 - Slider de imagens 62 - Feed do Instagram 63 - Tabela avançada 64 - Infinite Scroll 65 - AJAX declarativo 66 - Cotação de moedas 67 - Máquina de escrever 68 - Realce de código 69 - Tema dia/noite 70 - Conteúdo responsivo 71 - Lazy load de imagem 72 - Preloader 73 - Efeitos de entrada 74 - Texto animado 75 - Mini-componentes animados 76 - Cascade 77 - Pin (prende na tela) 78 - Fixed (gruda no topo) 79 - Track (fileira horizontal) 80 - Sections (tela cheia) 81 - Frames (sprite no scroll) 82 - SVG Draw (traço) 83 - Motion Path 84 - Tilt (3D no mouse) 85 - Magnetic (ímã) 86 - Glow (segue o mouse) 87 - Cursor personalizado 88 - Canvas (fundo generativo) 89 - Lottie 90 - Rive 91 - Countdown 92 - Counter 93 - Transição de página
22
Avatar CSS
Foto ou iniciais de usuário, redondo por padrão, com 4 tamanhos, cores em degradê, status ao vivo e pilha em leque.
O que é
100% CSS — mostra uma <img> ou as iniciais do usuário num círculo (ou quadrado, com sqr). Sem foto, o fundo vira um degradê colorido pela cor semântica escolhida.
Como funciona
Sem módulo JS — puro CSS. border-radius:50% por padrão; a imagem interna herda o border-radius do pai (inherit) pra recortar certo em qualquer tamanho/forma. O pontinho de status é um ::after; [sw-avt-grp] sobrepõe os avatares e abre em leque no :hover.
Exemplos
Tamanhos e iniciais
Ao vivo
<div sw-avt="g">SW</div>
<div sw-avt="sqr suc">SW</div> <!-- quadrado, cor de sucesso -->
<div sw-avt><img src="/foto.jpg" alt=""></div> <!-- com foto -->
Status ao vivo — onl, bsy, away, off
Ao vivo
<span sw-avt="onl">online</span>
<span sw-avt="bsy">ocupado</span>
<span sw-avt="away">ausente</span>
<span sw-avt="off">offline</span>
Pilha de avatares — [sw-avt-grp] (passe o mouse: abre em leque)
Ao vivo
<div sw-avt-grp>
<span sw-avt><img src="/1.jpg" alt=""></span>
<span sw-avt><img src="/2.jpg" alt=""></span>
<span class="sw-avt-grp-more">+5</span>
</div>
Presence stack — [sw-presence] (variante independente)
Ao vivo
A B C +3
<!-- um <span> por pessoa — <img> dentro vira foto, vazio cai na cor -->
<span sw-presence aria-label="Presença ao vivo">
<span><img src="/1.jpg" alt=""></span>
<span><img src="/2.jpg" alt=""></span>
<span class="is-online"><img src="/3.jpg" alt=""></span>
<span class="sw-presence-more">+8</span>
</span>
<!-- .is-online = pontinho verde pulsando · último span = "+N" -->
Variantes
sw-avt (sem valor)
redondo, tamanho médio
sqr
quadrado com cantos levemente arredondados
pp · p · (padrão) · g · gg
tamanhos, do menor ao maior
sec · suc · ale · err · inf
cor de fundo (degradê) quando não tem foto
onl · bsy · away · off
pontinho de status no canto — online / ocupado / ausente / offline
[sw-avt-grp] + .sw-avt-grp-more
pilha de avatares sobrepostos, abre em leque no hover — o último item é o "+N"
[sw-presence] + .is-online + .sw-presence-more
variante de pilha independente do avatar — vazio cai na cor, .is-online pisca verde
Limitações — o que ele não faz
Nenhuma.