→ לכל המאגר

G06 · גלריה נגררת עם אינרציה

GSAP GSAP · Draggable · Inertia תמונות וגלריות ממתין

גריד שגוררים ביד והוא ממשיך בתנופה ונבלם ברכות בגבולות.

מתי משתמשים: פורטפוליו, גלריה חופשית. במגע זה הבית הטבעי שלו.

הדמו כאן עיצובי-ניטרלי בכוונה. כשהמהלך נכנס לפרויקט, מיובאת רק ההתנהגות: הצבעים, הרדיוסים, הפונטים והצללים יורשים את העיצוב של אותו פרויקט.

הדמו

1
2
3
4
5
6
7
8

קוד להדבקה

הקוד כאן עומד בפני עצמו. כל טוקן עיצוב נושא ברירת מחדל, מחלקות העזר של המאגר מוטמעות בו, ותגי הסקריפט מסודרים לפי הסדר הנכון. פרויקט שמגדיר --accent או --line משלו יורש אותם אוטומטית. הרכיב הזה מסתמך על dir="rtl".

פתח קובץ עצמאי ↗
הצג את הקוד כאן

CSS

/* מחלקות עזר של המאגר שהרכיב הזה משתמש בהן */
.stage{padding:var(--sec, clamp(120px, 12vw, 260px)) var(--gutter, clamp(24px, 5vw, 96px));position:relative}
.stage.tight{padding-block:clamp(48px,5vw,90px)}
.stage.full{padding-inline:0}
.ph{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;border-radius:var(--r, 14px)}
.ph-a{background:linear-gradient(160deg,#3b5bdb,#748ffc)}
.ph-b{background:linear-gradient(160deg,#5f3dc4,#9775fa)}
.ph-c{background:linear-gradient(160deg,#0b7285,#3bc9db)}
.ph-d{background:linear-gradient(160deg,#2b8a3e,#69db7c)}
.ph-e{background:linear-gradient(160deg,#e8590c,#ffa94d)}
.ph-f{background:linear-gradient(160deg,#c92a2a,#ff8787)}
.ph-l{background:rgba(16,18,43,.72);color:#fff;padding:.18em .7em;border-radius:999px;line-height:1.3;font-size:max(.78em,12px)}

/* G06 · גלריה נגררת עם אינרציה */
.dragw{height:60vh;border:2px dashed #ccc;border-radius:var(--r, 14px);overflow:hidden;margin-inline:var(--gutter, clamp(24px, 5vw, 96px))}
.drag{display:grid;grid-template-columns:repeat(4,240px);gap:16px;padding:24px;width:max-content;cursor:grab}
.drag:active{cursor:grabbing}
.drag .ph{height:170px}

HTML

<div class="stage tight"><div class="dragw"><div class="drag">
<div class="ph ph-a"><span class="ph-l">1</span></div><div class="ph ph-b"><span class="ph-l">2</span></div><div class="ph ph-c"><span class="ph-l">3</span></div><div class="ph ph-d"><span class="ph-l">4</span></div>
<div class="ph ph-e"><span class="ph-l">5</span></div><div class="ph ph-f"><span class="ph-l">6</span></div><div class="ph ph-b"><span class="ph-l">7</span></div><div class="ph ph-a"><span class="ph-l">8</span></div>
</div></div></div>

JS

gsap.registerPlugin(Draggable, InertiaPlugin);

Draggable.create(".drag",{type:"x,y",edgeResistance:.65,bounds:".dragw",inertia:true});