CSS Pulsuz, qeydiyyatsız

CSS Scroll-driven Animations generatoru

Əvvəllər skroll animasiyaları üçün ağır JavaScript kitabxanaları (GSAP, ScrollMagic) tələb olunurdu. Artıq CSS-in animation-timeline: scroll() və view() xassələri ilə brauzerin daxili GPU gücündən istifadə edərək 60 FPS sürətlə tam təmiz CSS animasiyaları qura bilərsiniz.

Nəticə
Hazır CSS kodu
/* 100% təmiz CSS ilə skroll animasiyası */
@keyframes revealCard {
  from { opacity: 0; transform: translateY(40px) scale(0.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.card {
  animation: revealCard linear both;
  animation-timeline: view();
  animation-range: entry 10% cover 40%;
}

Necə istifadə etmək olar

  1. Rejimi seçin: «Oxuma proqresi» (scroll) yaxud «Blokların ekrana girməsi» (view).
  2. Pəncərəni yuxarı-aşağı sürüşdürərək (və ya avtomatik skroll düyməsini basaraq) animasiyanın skrolla necə bağlandığını izləyin.
  3. Effekt növünü dəyişin (Şəffaflıq + Qalxma, Böyümə, 3D Fırlanma və ya Rəng dəyişimi).
  4. animation-range diapazonunu (entry, cover, exit) fərdiləşdirin və hazır təmiz CSS kodunu kopyalayın.

Bu necə işləyir

animation-timeline: scroll() nə edir?

Standart @keyframes animasiyası zamana (məsələn, animation-duration: 2s) əsaslanır. animation-timeline: scroll() isə zaman oxunu səhifənin və ya konteynerin skroll mövqeyi ilə əvəzləyir: istifadəçi 0% mövqedə olanda animasiya 0%-də, 50% skroll edəndə animasiya tam ortasında dayanır.

scroll() ilə view() fərqi

scroll() bütün konteynerin və ya səhifənin ümumi skroll faizinə bağlanır (məsələn, yuxarıdakı oxuma proqres lenti üçün idealdır). view() isə konkret elementin ekran sahəsinə (viewport) nə vaxt daxil olub nə vaxt çıxdığını izləyir (scroll-triggered kartlar üçün əvəzolunmazdır).

/* Səhifənin yuxarı oxuma indikatoru */
.progress-bar {
  scale: 0 1;
  transform-origin: left;
  animation: fillProgress linear;
  animation-timeline: scroll();
}

animation-range və GPU məhsuldarlığı

animation-range xassəsi animasiyanın dəqiq hansı nöqtədə başlayıb bitəcəyini təyin edir (məsələn, entry 0% cover 30%). Animasiya birbaşa brauzerin kompozisiya axınında (Compositor Thread) işlədiyi üçün əsas JavaScript axınını əsla dondurmur.

Tez-tez verilən suallar

JavaScript event listener (window.onscroll) tələb olunurmu?

Xeyr! Heç bir JS scroll hadisəsi və ya IntersectionObserver tələb olunmur. Bütün hesablama brauzerin daxili CSS mühərrikində aparılır.

Brauzer dəstəyi necədir?

Chrome 115+, Edge 115+ və Opera bu xüsusiyyəti tam dəstəkləyir (Chromium ekosistemi, 75%+ qlobal pay). Digər brauzerlər üçün @supports (animation-timeline: scroll()) yoxlaması ilə rahat fallback yazılır.

prefers-reduced-motion ilə necə işləməlidir?

Həssas istifadəçilər üçün @media (prefers-reduced-motion: reduce) daxilində animation: none !important; verilməsi qızıl standartdır.

HTML və CSS kursunda bu mövzu

Digər CSS alətləri

CSS gradient generatoru Linear, radial və conic gradient: rəngləri, bucağı və nöqtələri seçin, hazır kodu kopyalayın. Flexbox generatoru və playground Konteyner və elementlərin flex xassələrini sınayın: istiqamət, düzləmə, boşluq və hazır CSS. CSS Grid generatoru Sütun və sətir ölçülərini seçin, boşluğu və düzləməni tənzimləyin, hazır grid kodunu kopyalayın. CSS box-shadow generatoru Kölgənin yerini, bulanıqlığını, rəngini və laylarını seçin, hazır box-shadow kodunu kopyalayın. Cubic-bezier generatoru Easing əyrisinin nöqtələrini sürüşdürün və hazır CSS transition kodunu kopyalayın. SVG animasiya generatoru Forma və effekt seçin — səhifəyə yapışdırmaq üçün hazır SVG və CSS keyframes alın. CSS specificity kalkulyatoru Seçiciləri yazın — (a,b,c) ağırlığını, rəngli təhlilini və hansı qaydanın qalib gəldiyini görün. CSS box model vizualizatoru Content, padding, border və margin-i DevTools tipli sxemdə görün və hazır CSS kodunu alın. CSS transform generatoru Elementi sürüşdürün, fırladın, böyüdün və əyin: ilkin mövqe önizləmədə görünür, kod hazırdır. CSS clamp() kalkulyatoru Min və maks şrift ölçüsünü və ekran enini yazın — axıcı tipoqrafika üçün hazır clamp() alın. Rəng kontrastı yoxlayıcısı (WCAG) Mətn və fon rənginin kontrastını WCAG AA və AAA üzrə yoxlayın, uyğun gəlməyən cütü düzəldin. CSS clip-path generatoru Poliqon, dairə, ellips və kəsilmiş künclər: nöqtələri sürüşdürün və hazır CSS kodunu kopyalayın. CSS Glassmorphism generatoru Mat şüşə effekti: backdrop-filter blur, şəffaflıq, kənar işığı və hazır CSS kodu. CSS border-radius (Blob) generatoru Üzvi formalar və 8 dəyərli border-radius: radiusları sürüşdürün, canlı blob animasiyasını yoxlayın. CSS Stacking Context və z-index vizualizatoru z-index: 9999 niyə işləmir? 3D laylar görünüşü ilə CSS Stacking Context mexanizmini və səbəblərini vizual öyrənin. CSS aspect-ratio və object-fit generatoru Şəkillərin deformasiyasına və CLS sıçrayışlarına son: aspect-ratio proporsiyaları və object-fit fokus nöqtəsi canlı. CSS Filtr Studiyası və generatoru Qrafik redaktorsuz foto effektləri: blur, contrast, hue-rotate, sepia və Instagram üslublu hazır presətlər. OKLCH rəng generatoru və palitrası Göz üçün bərabər parlaqlıq və Display P3 canlı rənglər: OKLCH konvertasiyası, qradasiya və harmonik palitralar. CSS Container Queries (@container) generatoru Media sorğularına son: komponent ekran ölçüsünə deyil, öz konteynerinin eninə uyğunlaşır. Canlı ölçü dəyişmə və @container qaydaları.
WhatsApp