feat(home): rolagem suave (Lenis) e seis transicoes de secao ligadas a rolagem
Cada passagem segura a secao que sai e a que entra na tela enquanto a transicao acontece: dissolucao do hero no notebook, cartao, iris, corte lateral, perspectiva, cortina diagonal e zoom. Medidas pelo layout (offsetTop) para nao confundir os gatilhos com os transforms. Remove letreiros e divisores entre secoes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
0ec0194441
commit
df1c1888da
10 files changed
+262
-254
No files matched your search
+8
-19
@@ -1130,31 +1130,20 @@ textarea {
|
||||
}
|
||||
}
|
||||
|
||||
/* Transição entre seções: cada seção sobe como um cartão e abre até a borda da tela.
|
||||
CSS puro com linha do tempo de rolagem (Chrome, Edge, Safari 26+); sem suporte, a seção só aparece. */
|
||||
/* Transições entre seções: app/components/cinematic/useCinematicScroll.ts (GSAP + Lenis).
|
||||
O fundo escuro aparece nas frestas enquanto uma seção entra sobre a outra. */
|
||||
.ds-main {
|
||||
background: var(--ink);
|
||||
}
|
||||
|
||||
@keyframes section-rise {
|
||||
from {
|
||||
clip-path: inset(8vh 4vw 0 4vw round 28px);
|
||||
translate: 0 12vh;
|
||||
}
|
||||
to {
|
||||
clip-path: inset(0 0 0 0 round 0);
|
||||
translate: 0 0;
|
||||
}
|
||||
/* Lenis controla a suavidade da rolagem: o scroll-behavior nativo brigaria com ele */
|
||||
html.lenis,
|
||||
html.lenis body {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
@supports (animation-timeline: view()) {
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.ds-main > section:not(.hero, .notebook-story) {
|
||||
animation: section-rise linear both;
|
||||
animation-timeline: view();
|
||||
animation-range: entry 0% entry 85vh;
|
||||
}
|
||||
}
|
||||
html.lenis {
|
||||
scroll-behavior: auto;
|
||||
}
|
||||
|
||||
/* Capa dos cards de projeto: captura real ou painel gerado em codigo */
|
||||
|
||||
Reference in new issue
Block a user