Entrar ao rolar (sw-revela) CSS
O conteúdo aparece conforme entra na tela, acompanhando a rolagem — com um atributo e zero JavaScript.
O que é
É o efeito de "surgir ao rolar" que quase todo site moderno tem: os cards, fotos e textos vão aparecendo à medida que a pessoa desce a página. Você coloca sw-revela no elemento e pronto. Ele sobe e aparece por padrão; com uma palavra dentro do atributo ele pode crescer (zoom), vir da esquerda (esq), da direita (dir) ou só clarear (fade). Com lento ou rapido você muda o quanto a pessoa precisa rolar para ele terminar de aparecer.
A animação é presa à rolagem, não ao tempo: rolou para baixo, aparece; voltou para cima, ela "desaparece" de novo, no ritmo do dedo. Quem faz isso é o próprio navegador — é leve e não trava a página. Em navegador antigo, ou se a pessoa ligou "reduzir movimento" no celular/computador, o conteúdo simplesmente aparece parado: nada fica escondido.
Quando usar
- Cards de serviços, produtos ou depoimentos surgindo ao rolar:
sw-revela. - Foto e texto lado a lado: a foto vem de um lado (
esq) e o texto do outro (dir). - Número, selo ou destaque que "cresce" ao aparecer:
sw-revela="zoom". - Seção inteira com entrada discreta:
sw-revela="fade lento". - Precisa de linha do tempo com várias etapas, prender a tela (pin) ou texto letra a letra? Aí é a área Animações (
sw-ani/ GSAP).
Comece aqui
-
1
Coloque o SW Core no
<head>. Osw-revelaestá no arquivo principal — não precisa do pacote de animação.<link rel="stylesheet" href="swcore/swcore.min.css"> -
2
Coloque
sw-revelano elemento. Role a página para ver ele entrar.Corte + barbaA partir de R$ 60
<div sw-card="sha" sw-revela> <div class="sw-card-bdy"> <strong>Corte + barba</strong> <p class="m-0 t-mut t-p">A partir de R$ 60</p> </div> </div>
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. Efeitos de entrada
Uma palavra dentro do atributo escolhe o jeito de entrar. Role a página devagar, para cima e para baixo, olhando estes quadros.
Entrada padrão
<div sw-card="sha" sw-revela class="w-fl">
<div class="sw-card-bdy">
<strong>Sobe</strong>
<p class="m-0 t-mut t-p">Entrada padrão</p>
</div>
</div>
Começa um pouco menor
<div sw-card="sha" sw-revela="zoom" class="w-fl">
<div class="sw-card-bdy">
<strong>Zoom</strong>
<p class="m-0 t-mut t-p">Começa um pouco menor</p>
</div>
</div>
Desliza para a direita
<div sw-card="sha" sw-revela="esq" class="w-fl">
<div class="sw-card-bdy">
<strong>Esquerda</strong>
<p class="m-0 t-mut t-p">Desliza para a direita</p>
</div>
</div>
Desliza para a esquerda
<div sw-card="sha" sw-revela="dir" class="w-fl">
<div class="sw-card-bdy">
<strong>Direita</strong>
<p class="m-0 t-mut t-p">Desliza para a esquerda</p>
</div>
</div>
Aparece no lugar
<div sw-card="sha" sw-revela="fade" class="w-fl">
<div class="sw-card-bdy">
<strong>Fade</strong>
<p class="m-0 t-mut t-p">Aparece no lugar</p>
</div>
</div>
2. Ritmo
O ritmo é "quanto a pessoa precisa rolar" até o elemento terminar de aparecer. Combina com qualquer efeito: sw-revela="zoom lento".
Termina com 30% à vista
<div sw-card="sha" sw-revela class="w-fl">
<div class="sw-card-bdy">
<strong>Normal</strong>
<p class="m-0 t-mut t-p">Termina com 30% à vista</p>
</div>
</div>
Termina no meio da tela
<div sw-card="sha" sw-revela="lento" class="w-fl">
<div class="sw-card-bdy">
<strong>Lento</strong>
<p class="m-0 t-mut t-p">Termina no meio da tela</p>
</div>
</div>
Termina ao entrar inteiro
<div sw-card="sha" sw-revela="rapido" class="w-fl">
<div class="sw-card-bdy">
<strong>Rápido</strong>
<p class="m-0 t-mut t-p">Termina ao entrar inteiro</p>
</div>
</div>
Efeito + ritmo
<div sw-card="sha" sw-revela="esq lento" class="w-fl">
<div class="sw-card-bdy">
<strong>Esquerda lento</strong>
<p class="m-0 t-mut t-p">Efeito + ritmo</p>
</div>
</div>
Tabela de opções
| Palavra | O que faz | Exemplo |
|---|---|---|
| Efeito (escolha um) | ||
(nenhum) | Sobe 3rem e aparece. É o padrão. | sw-revela |
zoom | Começa em 90% do tamanho e cresce enquanto aparece. | sw-revela="zoom" |
esq | Vem da esquerda (4rem) enquanto aparece. | sw-revela="esq" |
dir | Vem da direita (4rem) enquanto aparece. | sw-revela="dir" |
fade | Só clareia, sem se mover. | sw-revela="fade" |
| Ritmo (opcional, junto com o efeito) | ||
(nenhum) | Começa quando 5% do elemento entrou e termina com 30% do caminho feito. | sw-revela |
lento | Faixa de rolagem maior: termina só no meio do caminho. | sw-revela="fade lento" |
rapido | Faixa curta: termina assim que o elemento entra inteiro na tela. | sw-revela="zoom rapido" |
Receitas prontas — usos reais
Situações que aparecem em quase todo site. Copie a que servir.
R$ 45
R$ 120
Sob consulta
<div class="l l-3 gap-4">
<div sw-card="sha" sw-revela>…Corte…</div>
<div sw-card="sha" sw-revela="lento">…Coloração…</div>
<div sw-card="sha" sw-revela="zoom">…Dia da noiva…</div>
</div>
<div class="l l-2 gap-6 alc">
<div class="ar-4-3 r-m ov-hi" sw-revela="esq">
<img src="/equipe.jpg" alt="Nossa equipe" class="media-fill">
</div>
<div sw-revela="dir">
<h3 class="mt-0">Quem somos</h3>
<p class="t-mut">Há 12 anos cuidando do seu cabelo, no centro da cidade.</p>
<a href="/agendar" sw-btn="pri">Agendar horário</a>
</div>
</div>
+1.200
clientes atendidos
12
anos de mercado
4,9
nota no Google
<div sw-revela="zoom rapido">
<p class="t-xg fw7 m-0 t-pri">+1.200</p>
<p class="m-0 t-mut">clientes atendidos</p>
</div>
Precisa de quê
swcore.min.css(2.1.0 ou mais novo). Não precisa de JavaScript nem do pacote de animação.- Navegador com "animações ligadas à rolagem". Sem isso, o conteúdo aparece parado — nada some.
Cuidados — erros comuns
- Não funciona dentro de caixa que corta ou rola (
ov-hi,ovx,ovyou umsw-card, que corta por padrão): a animação passa a seguir essa caixa, que não rola, e fica parada. Coloque osw-revelano próprio card ou numa caixa sem corte. - Uma palavra de efeito por vez:
sw-revela="esq dir"não soma, vale só a última regra do CSS. Ritmo (lento/rapido) pode ir junto. - Se "não anima" no seu computador, confira se o sistema está com "reduzir movimento" ligado — nesse caso o SW Core mostra tudo parado de propósito.
- O efeito volta ao rolar para cima (ele desaparece de novo). Se você quer que anime só uma vez e fique, use
sw-anida área Animações. - Não coloque em conteúdo que já está visível quando a página abre (o topo): ele pode começar pela metade. Use em seções mais abaixo.
O que ele não faz
- Sem atraso entre itens (efeito cascata) nem duração em segundos: o ritmo é sempre pela rolagem. Para cascata, use Cascade.
- Só existem os 5 efeitos e os 2 ritmos da tabela.

