Sticky positioning: الهيدر يثبت وبعدين يسلّم
01 · قسم 1
02 · قسم 2
03 · قسم 3
04 · قسم 4
sticky.css
.section-title { position: sticky; top: 0; /* يثبت لما يوصل لأول الـ scroller */ background: white; /* من غيرها المحتوى هيبان من تحته */ z-index: 1;}العنصر الـ sticky بيتصرف عادي، لحد ما يوصل لـ top: 0، فيثبت. بس هو محبوس جوه الأب بتاعه: أول ما الـ section يخلص، الهيدر بيمشي معاه لفوق، والهيدر اللي بعده ياخد مكانه. عشان كده كل هيدر بيبان كأنه بيسلّم اللي بعده.
Scroll Snap: الصفحة تقف في مكانها
1
2
3
4
snap.css
.scroller { scroll-snap-type: y mandatory; /* محور y، والوقوف إجباري */ overflow-y: auto;}.panel { height: 100%; scroll-snap-align: start; /* أول اللوحة يقف عند أول الـ scroller */}| الخاصية | القيم | معناها |
|---|---|---|
scroll-snap-type | mandatory أو proximity | لازم يقف عند نقطة، ولا بس لو قريب منها |
scroll-snap-align | start أو center أو end | أنهي حتة من العنصر تقف عند الحافة |
scroll-snap-stop | always | متعدّيش اللوحة دي حتى لو المستخدم زق جامد |
scroll-padding-top | طول | سيب مسافة فوق، مثلًا عشان header ثابت |
خلّصت الفصل لما
🧠 اختبر نفسك
١) sticky شغال في Chrome بس جوه الـ card مش شغال. أول حاجة تشيّك عليها؟
أب عليه overflow غير visible.
٢) محتاج JavaScript عشان الـ snap؟
لأ. CSS بس، والمتصفح بيعمل الحركة.