SWCore
SWCore / CSS / Ícones

Ícones CSS

1.031 ícones prontos numa tag só — <i class="swi-cart"></i> — que pegam o tamanho e a cor do texto em volta.

O que é

São os desenhinhos de carrinho, telefone, WhatsApp, lixeira, estrela… que aparecem em botões, menus e listas. No SWCore eles vêm numa fonte de ícones própria: você escreve <i class="swi-nome"></i> e o ícone aparece. Como é uma fonte, o ícone se comporta como uma letra: fica do tamanho do texto e da cor do texto. Quer maior? Aumente a letra. Quer vermelho? Pinte o texto de vermelho.

Vem no pacote complementar (swcore.compl.min.css), com o arquivo da fonte junto (fonts/swicons.woff2) — nada é buscado em outro site. São três conjuntos, pelo começo do nome: swi- contorno (841, o dia a dia), swis- sólido/preenchido (35) e swil- marcas e logos (155: WhatsApp, Instagram, Google…). Não precisa de JavaScript.

Quando usar

  • Dentro de botão, antes ou depois do texto: " Comprar".
  • Botão só com ícone (fechar, menu, lixeira) — sempre com aria-label dizendo o que faz.
  • Contato no rodapé: telefone, e-mail, endereço, horário.
  • Redes sociais: swil-whatsapp, swil-instagram, swil-facebook…
  • Lista de vantagens com um ícone de "check" em cada item.

Comece aqui

  1. 1

    Coloque o SWCore e o pacote complementar no <head>. Os ícones estão no complementar.

    <link rel="stylesheet" href="https://swcore.sanweb.com.br/dist/2.1.0/swcore.min.css">
    <link rel="stylesheet" href="https://swcore.sanweb.com.br/dist/2.1.0/swcore.compl.min.css">
  2. 2

    Escreva uma tag <i> com o nome do ícone na classe. Ache o nome na busca mais abaixo.

    <i class="swi-cart"></i>
    <i class="swil-whatsapp"></i>
    <i class="swis-cat"></i>
  3. 3

    Dentro de um botão ou texto, ele já pega o tamanho e a cor dali.

    <button sw-btn="suc"><i class="swil-whatsapp"></i> Falar no WhatsApp</button>

Todas as variações

Cada quadro abaixo é o componente de verdade, rodando. O código embaixo é exatamente o que está no quadro: copie e cole.

1. Os três conjuntos

O começo do nome diz o conjunto. Nem todo ícone existe nos três: confira o nome na busca.

swi- — contorno (841) <i class="swi-home"></i> <i class="swi-heart"></i> <i class="swi-user"></i>
swis- — sólido (35) <i class="swis-home-alt-2"></i> <i class="swis-droplet"></i> <i class="swis-party"></i>
swil- — marcas e logos (155) <i class="swil-whatsapp"></i> <i class="swil-instagram"></i> <i class="swil-google"></i>

2. Tamanho

O ícone tem o tamanho da letra. Use as classes de tamanho de texto da Tipografia no ícone ou no elemento em volta.

t-pp — 12 px <i class="swi-star t-pp"></i>
t-p — 14 px <i class="swi-star t-p"></i>
t-m — 17 px (texto normal) <i class="swi-star t-m"></i>
t-gg — 22 px <i class="swi-star t-gg"></i>
t-xg — 32 px <i class="swi-star t-xg"></i>
t-xxg — 48 px <i class="swi-star t-xxg"></i>

3. Cor

O ícone tem a cor do texto. Use as classes de cor de texto (Cores semânticas ou Paleta estendida).

t-pri — marca <i class="swi-heart t-xg t-pri"></i>
t-suc — sucesso <i class="swi-check-circle t-xg t-suc"></i>
t-err — erro <i class="swi-error-circle t-xg t-err"></i>
t-ale — alerta <i class="swi-bell t-xg t-ale"></i>
t-inf — informação <i class="swi-info-circle t-xg t-inf"></i>
t-mut — suave <i class="swi-time t-xg t-mut"></i>
Tfuch9 — tom da paleta <i class="swi-gift t-xg Tfuch9"></i>
TazulD — degradê <i class="swil-instagram t-xxg TazulD"></i>

4. Com texto e em botão

Ponha o ícone antes ou depois do texto. Em botão com sw-btn o espaço entre ícone e texto já vem certo. Botão só com ícone: aria-label obrigatório.

Rua das Flores, 120
Ícone antes do texto <span class="t-txt"><i class="swi-map-pin t-pri"></i> Rua das Flores, 120</span>
Ícone em botão <button sw-btn="pri"><i class="swi-calendar"></i> Agendar</button>
Ícone depois do texto <a href="#" sw-btn="out">Ver mais <i class="swi-right-arrow-alt"></i></a>
Só o ícone (redondo) <button sw-btn="ghost rnd" aria-label="Abrir menu"><i class="swi-menu"></i></button>

5. Amostra — loja e pagamento

Uma seleção com o nome embaixo de cada um. Todos os 1.031 estão na busca do fim da galeria.

swi-cart <i class="swi-cart"></i>
swi-cart-add <i class="swi-cart-add"></i>
swi-shopping-bag <i class="swi-shopping-bag"></i>
swi-basket <i class="swi-basket"></i>
swi-store <i class="swi-store"></i>
swi-package <i class="swi-package"></i>
swi-tag <i class="swi-tag"></i>
swi-purchase-tag <i class="swi-purchase-tag"></i>
swi-credit-card <i class="swi-credit-card"></i>
swi-wallet <i class="swi-wallet"></i>
swi-money <i class="swi-money"></i>
swi-dollar <i class="swi-dollar"></i>
swi-receipt <i class="swi-receipt"></i>
swi-gift <i class="swi-gift"></i>
swi-barcode <i class="swi-barcode"></i>
swi-qr <i class="swi-qr"></i>

6. Amostra — contato e lugar

swi-phone <i class="swi-phone"></i>
swi-phone-call <i class="swi-phone-call"></i>
swi-envelope <i class="swi-envelope"></i>
swi-mail-send <i class="swi-mail-send"></i>
swi-chat <i class="swi-chat"></i>
swi-send <i class="swi-send"></i>
swi-map-pin <i class="swi-map-pin"></i>
swi-map <i class="swi-map"></i>
swi-directions <i class="swi-directions"></i>
swi-navigation <i class="swi-navigation"></i>
swi-time <i class="swi-time"></i>
swi-calendar <i class="swi-calendar"></i>
swi-calendar-check <i class="swi-calendar-check"></i>
swi-alarm <i class="swi-alarm"></i>
swi-building <i class="swi-building"></i>
swi-home <i class="swi-home"></i>

7. Amostra — redes e marcas (swil-)

swil-whatsapp <i class="swil-whatsapp"></i>
swil-instagram <i class="swil-instagram"></i>
swil-facebook <i class="swil-facebook"></i>
swil-youtube <i class="swil-youtube"></i>
swil-tiktok <i class="swil-tiktok"></i>
swil-linkedin <i class="swil-linkedin"></i>
swil-twitter <i class="swil-twitter"></i>
swil-telegram <i class="swil-telegram"></i>
swil-pinterest <i class="swil-pinterest"></i>
swil-google <i class="swil-google"></i>
swil-spotify <i class="swil-spotify"></i>
swil-github <i class="swil-github"></i>
swil-apple <i class="swil-apple"></i>
swil-android <i class="swil-android"></i>
swil-visa <i class="swil-visa"></i>
swil-mastercard <i class="swil-mastercard"></i>
swil-paypal <i class="swil-paypal"></i>

8. Amostra — botões e telas

swi-menu <i class="swi-menu"></i>
swi-x <i class="swi-x"></i>
swi-search <i class="swi-search"></i>
swi-plus <i class="swi-plus"></i>
swi-minus <i class="swi-minus"></i>
swi-check <i class="swi-check"></i>
swi-edit <i class="swi-edit"></i>
swi-pencil <i class="swi-pencil"></i>
swi-trash <i class="swi-trash"></i>
swi-copy <i class="swi-copy"></i>
swi-save <i class="swi-save"></i>
swi-download <i class="swi-download"></i>
swi-upload <i class="swi-upload"></i>
swi-share-alt <i class="swi-share-alt"></i>
swi-link <i class="swi-link"></i>
swi-refresh <i class="swi-refresh"></i>
swi-filter <i class="swi-filter"></i>
swi-sort-alt-2 <i class="swi-sort-alt-2"></i>
swi-cog <i class="swi-cog"></i>
swi-bell <i class="swi-bell"></i>
swi-lock <i class="swi-lock"></i>
swi-key <i class="swi-key"></i>
swi-show <i class="swi-show"></i>
swi-hide <i class="swi-hide"></i>
swi-log-in <i class="swi-log-in"></i>
swi-log-out <i class="swi-log-out"></i>
swi-printer <i class="swi-printer"></i>
swi-zoom-in <i class="swi-zoom-in"></i>
swi-fullscreen <i class="swi-fullscreen"></i>
swi-grid-alt <i class="swi-grid-alt"></i>
swi-list-ul <i class="swi-list-ul"></i>
swi-dots-vertical-rounded <i class="swi-dots-vertical-rounded"></i>

9. Amostra — setas

swi-chevron-left <i class="swi-chevron-left"></i>
swi-chevron-right <i class="swi-chevron-right"></i>
swi-chevron-up <i class="swi-chevron-up"></i>
swi-chevron-down <i class="swi-chevron-down"></i>
swi-left-arrow-alt <i class="swi-left-arrow-alt"></i>
swi-right-arrow-alt <i class="swi-right-arrow-alt"></i>
swi-up-arrow-alt <i class="swi-up-arrow-alt"></i>
swi-down-arrow-alt <i class="swi-down-arrow-alt"></i>

10. Amostra — pessoas, avaliação e aviso

swi-user <i class="swi-user"></i>
swi-user-circle <i class="swi-user-circle"></i>
swi-heart <i class="swi-heart"></i>
swi-heart-circle <i class="swi-heart-circle"></i>
swi-star <i class="swi-star"></i>
swi-like <i class="swi-like"></i>
swi-smile <i class="swi-smile"></i>
swi-happy <i class="swi-happy"></i>
swi-sad <i class="swi-sad"></i>
swi-check-circle <i class="swi-check-circle"></i>
swi-error-circle <i class="swi-error-circle"></i>
swi-info-circle <i class="swi-info-circle"></i>
swi-badge-check <i class="swi-badge-check"></i>
swi-shield <i class="swi-shield"></i>
swi-trophy <i class="swi-trophy"></i>
swi-crown <i class="swi-crown"></i>
swi-medal <i class="swi-medal"></i>
swi-diamond <i class="swi-diamond"></i>

11. Amostra — serviços e ramos

swi-cut <i class="swi-cut"></i>
swi-spray-can <i class="swi-spray-can"></i>
swi-spa <i class="swi-spa"></i>
swi-bath <i class="swi-bath"></i>
swi-dumbbell <i class="swi-dumbbell"></i>
swi-restaurant <i class="swi-restaurant"></i>
swi-coffee <i class="swi-coffee"></i>
swi-cake <i class="swi-cake"></i>
swi-bed <i class="swi-bed"></i>
swi-car <i class="swi-car"></i>
swi-bus <i class="swi-bus"></i>
swi-wrench <i class="swi-wrench"></i>
swi-first-aid <i class="swi-first-aid"></i>
swi-clinic <i class="swi-clinic"></i>
swi-health <i class="swi-health"></i>
swi-book <i class="swi-book"></i>
swi-briefcase <i class="swi-briefcase"></i>
swi-closet <i class="swi-closet"></i>
swi-camera <i class="swi-camera"></i>
swi-image <i class="swi-image"></i>
swi-video <i class="swi-video"></i>
swi-music <i class="swi-music"></i>
swi-microphone <i class="swi-microphone"></i>
swi-leaf <i class="swi-leaf"></i>

12. Amostra — sólidos (swis-)

O conjunto sólido é pequeno (35). Estes são alguns.

swis-home-alt-2 <i class="swis-home-alt-2"></i>
swis-cat <i class="swis-cat"></i>
swis-droplet <i class="swis-droplet"></i>
swis-party <i class="swis-party"></i>
swis-hot <i class="swis-hot"></i>
swis-lemon <i class="swis-lemon"></i>
swis-coffee-bean <i class="swis-coffee-bean"></i>
swis-bowl-hot <i class="swis-bowl-hot"></i>
swis-shower <i class="swis-shower"></i>
swis-tree-alt <i class="swis-tree-alt"></i>
swis-shield-plus <i class="swis-shield-plus"></i>
swis-universal-access <i class="swis-universal-access"></i>

13. Todos os 1.031 — busque e clique para copiar

Digite em português ou inglês parte do nome (cart, user, arrow, whats…). Clique num ícone para copiar a tag pronta.

Busca nos nomes reais (tirados do próprio CSS do SWCore)
<!-- clique num ícone da lista para copiar a tag, por exemplo: -->
<i class="swi-heart"></i>

Tabela de opções

PalavraO que fazExemplo
Conjuntos
swi-{nome}Contorno — 841 ícones.<i class="swi-cart"></i>
swis-{nome}Sólido — 35 ícones.<i class="swis-cat"></i>
swil-{nome}Marcas e logos — 155 ícones.<i class="swil-whatsapp"></i>
Aparência (classes de texto)
t-pp … t-xxgTamanho (12 a 48 px). Ou font-size no seu CSS.<i class="swi-star t-xg"></i>
t-pri · t-suc · t-err …Cor que muda com o tema.<i class="swi-heart t-err"></i>
T{cor}{tom} · T{cor}DCor fixa da paleta / degradê (precisa do complementar).<i class="swi-gift Tfuch9"></i>
Acessibilidade
aria-label (no botão)Botão só com ícone precisa dizer o que faz.<button aria-label="Fechar"><i class="swi-x"></i></button>
aria-hidden="true" (no ícone)Ícone só de enfeite ao lado de um texto: o leitor de tela pula.<i class="swi-check" aria-hidden="true"></i>

Receitas prontas — usos reais

Situações que aparecem em quase todo site. Copie a que servir.

Contato no rodapé Ao vivo
  • (11) 4002-8922
  • contato@barbeariadocentro.com.br
  • Rua das Flores, 120 — Centro
  • Ter a sáb, 9h às 20h
<ul class="flx f-cl gap-p">
  <li class="flx alc gap-p"><i class="swi-phone t-pri" aria-hidden="true"></i> (11) 4002-8922</li>
  <li class="flx alc gap-p"><i class="swi-envelope t-pri" aria-hidden="true"></i> contato@barbeariadocentro.com.br</li>
  <li class="flx alc gap-p"><i class="swi-map-pin t-pri" aria-hidden="true"></i> Rua das Flores, 120 — Centro</li>
  <li class="flx alc gap-p"><i class="swi-time t-pri" aria-hidden="true"></i> Ter a sáb, 9h às 20h</li>
</ul>
Redes sociais Ao vivo
<a href="https://wa.me/5511999999999" sw-btn="ghost rnd" aria-label="WhatsApp"><i class="swil-whatsapp"></i></a>
<a href="https://instagram.com/seuperfil" sw-btn="ghost rnd" aria-label="Instagram"><i class="swil-instagram"></i></a>
<a href="https://facebook.com/suapagina" sw-btn="ghost rnd" aria-label="Facebook"><i class="swil-facebook"></i></a>
<a href="https://youtube.com/@seucanal" sw-btn="ghost rnd" aria-label="YouTube"><i class="swil-youtube"></i></a>
Lista de vantagens com check Ao vivo
  • Site pronto em 7 dias
  • Funciona no celular
  • Botão do WhatsApp
<ul class="flx f-cl gap-p">
  <li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Site pronto em 7 dias</li>
  <li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Funciona no celular</li>
  <li class="flx alc gap-p"><i class="swi-check-circle t-suc t-g" aria-hidden="true"></i> Botão do WhatsApp</li>
</ul>
Ícone grande em card de serviço Ao vivo

Corte

Barba

Relax

<div class="l l-3 gap-m">
  <div class="bg-sur bd r-m p-g"><i class="swi-cut t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Corte</p></div>
  <div class="bg-sur bd r-m p-g"><i class="swi-spray-can t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Barba</p></div>
  <div class="bg-sur bd r-m p-g"><i class="swi-spa t-xg t-pri" aria-hidden="true"></i><p class="t-txt">Relax</p></div>
</div>

Precisa de quê

  • swcore.compl.min.css — a fonte de ícones (e a pasta fonts/ ao lado, se hospedar os arquivos você mesmo).
  • swcore.min.css — para as classes de tamanho e cor usadas nos exemplos.

Cuidados — erros comuns

  • Nome errado não dá erro: o ícone só não aparece. Copie o nome da busca em vez de adivinhar (ex.: é swi-cart, não existe swi-shopping-cart).
  • A classe do ícone tem que ser a primeira da tag ou vir depois de um espaço: class="swi-cart t-xg" funciona; class="t-xg swi-cart" também. Só não junte sem espaço.
  • Botão só com ícone precisa de aria-label; sem ele, quem usa leitor de tela ouve só "botão".
  • Hospedando o SWCore no seu servidor? Copie também a pasta fonts/ junto do CSS; sem ela os ícones ficam em branco.
  • O mesmo nome nem sempre existe nos três conjuntos: swi-heart existe, swis-heart não.

O que ele não faz

  • O ícone é de uma cor só (é uma letra). Ícone colorido de várias cores, só com imagem/SVG.
  • O conjunto sólido (swis-) tem só 35 ícones; a maioria dos desenhos existe apenas em contorno.