البداية · فصل ١

خريطة الأنماط التسعة

scroll patterns · layout vs triggered vs driven · compositor · reduced motion
🎯 الهدف: تقسّم الأنماط التسعة لـ ٣ عائلات، وتعرف كل عائلة بتتعمل بأنهي أداة وليه.

٩ أنماط، ٣ عائلات

الأنماط شكلها مختلف، بس السؤال اللي بيفرّقهم واحد: إيه اللي بيحصل لما المستخدم يعمل scroll؟

العائلةإيه اللي بيحصلالأنماطالأداة
Layoutالعنصر بيتصرّف بشكل خاص وهو بيتحركSticky، Scroll snapCSS بس
Triggeredحاجة بتحصل مرة لما عنصر يدخل الشاشةFade on enter، Infinite scroll، ScrollytellingIntersectionObserver
Drivenقيمة ماشية مع كل بيكسل scrollProgress bar، Zoom، Parallax، HorizontalCSS scroll-driven animations
المستخدم عمل scroll… مين بيرد؟
  1. المستخدم بيعمل scroll ← CSS layout: المتصفح لوحده
  2. المستخدم بيعمل scroll ← IntersectionObserver: عدّى الحد؟
  3. المستخدم بيعمل scroll ← scroll timeline: progress 0→1

الفرق بين Triggered و Driven

ده أكتر لبس بيحصل، فخليه في دماغك:

🔔 Triggered

زي جرس الباب: بيرن مرة لما حد يعدّي. العنصر بيدخل، الـ animation بتشتغل لآخرها بسرعتها هي، حتى لو المستخدم وقف.

🎚️ Driven

زي مفتاح الصوت: كل ما تلف أكتر، الصوت يعلى. الـ animation مربوطة بمكان الـ scroll، تقف لما تقف وترجع لما ترجع.

٣ قواعد لكل الأنماط

خلّصت الفصل لما

🧠 اختبر نفسك
١) fade-in لما الكارت يدخل الشاشة: triggered ولا driven؟
triggered: بيحصل مرة، والـ animation بتكمل بسرعتها.
٢) شريط بيوضح قريت قد إيه من المقالة؟
driven: قيمته ماشية مع مكان الـ scroll بالظبط.
٣) ليه تحريك top مع الـ scroll بيقطّع؟
بيجبر المتصفح يعيد حساب الـ layout كل فريم. transform مش محتاج.