Skip to main content
GSAP Animation TutorialArticle 12

GSAP Timeline Position Parameter: Control Timing, Overlaps & Sequencing

Place every tween intentionally—sequentially, at an absolute time, relative to the timeline end, anchored to another tween, or attached to a readable label.

GSAP Timeline Position Parameter Overlap and Sequencing Tutorial - NavTechSolution

Timelines sequence child tweens, while timeline controls move their playhead. The position parameter answers the next question: exactly when does each child begin?

tl.from(".title", { y:40, opacity:0, duration:1 })
  .from(".text", { y:20, opacity:0, duration:1 }, "-=0.4")
  .from(".button", { scale:.8, opacity:0, duration:1 }, "-=0.3");
Sequential GSAP tweens compared with positioned overlapping tweens
Position parameters place children on the same timeline without changing their individual animation properties.

1. What is the position parameter?

targetwhat animatesvarshow it animatespositionwhen it starts
tl.to(".box", { x: 200, duration: 1 }, 0.5);

2. Default sequential timing

Without a position argument, a child is placed at the current timeline end: A from 0–1s, B from 1–2s, then C from 2–3s.

3. Absolute position

Numeric positions such as 0, 0.5 and 1 are timeline seconds. They are precise, but too many hard-coded values can be harder to maintain.

4. Add a gap with +=

"+=0.5" places the next child half a second after the current timeline end, adding intentional empty space.

5. Create overlap with -=

"-=0.3" starts the child 0.3 seconds before the current end. Overlap can connect movement, but is not automatically better.

6. Interactive += vs -= demo

ABC

Mode: Sequential

7. The < position symbol

"<" aligns a child with the start of the most recently added animation.

8. <0.2 and <+=0.2

"<0.2" starts 0.2 seconds after the previous start. "<+=0.2" expresses the same forward offset explicitly.

9. The > position symbol

">" aligns a child with the end of the most recently added animation—not necessarily the entire timeline end.

10. Offsets from >

">+=0.2" adds a gap after the previous child’s end; ">-=0.2" begins shortly before that end.

11. < vs > mental model

GSAP position parameter gap overlap previous start and previous end map
< references the previous start; > references the previous end.

12. Start two animations together

tl.to(".one", { x:150, duration:1 })
  .to(".two", { x:150, duration:1 }, "<");

13. Start partway through the previous tween

Use "<0.3" to begin 0.3 seconds after the previous tween begins, creating a readable relationship.

14. Timeline labels

tl.addLabel("content") names an important position so later code communicates intent instead of only seconds.

15. Add multiple labels

Names such as intro, content, cards and cta create a navigable storyboard.

16. Absolute label position

tl.addLabel("content", 1.2) places the label at exactly 1.2 seconds.

17. Relative position from a label

"content+=0.2" places a child 0.2 seconds after the named moment.

18. seek() with labels

tl.seek("cards") moves the playhead to the label. The label playground below demonstrates this.

19. Position parameter + from()

Add the third argument after the vars object: tl.from(target, vars, "-=0.3").

20. Position parameter + to()

tl.to(target, vars, "<") aligns destination motion with the previous child’s start.

21. Position parameter + fromTo()

For fromTo(), position is the fourth argument after target, from-vars and to-vars.

22. Position parameter + stagger

Position places the entire staggered tween; stagger offsets the tween’s individual targets.

23. Position parameter + easing

Position controls when a tween starts. Easing controls how its speed changes. They solve different design problems.

24. Build a natural hero sequence

NAVTECHSOLUTION

Build Connected Experiences

Intentional overlap makes each entrance feel related.

25. Hero sequential vs overlap comparison

Sequential timing is clear and deliberate. Moderate overlap is more connected and compact. Choose the rhythm that supports the content.

26. Build a section reveal

Place the section label first, overlap the heading, then position a staggered card tween before the description fully finishes.

27. Cinematic timeline example

A cinematic sequence can layer background, label, title, supporting copy and CTA with controlled overlap. Restraint keeps the story readable.

28. Timeline visualization

GSAP timeline labels and overlapping animation rhythm
Labels name important moments while bar placement makes overlap easier to reason about.

29. Position parameter playground

ABC

Position mode: Sequential

30. Label playground

IntroContentCardsCTA

Current label: intro

31. Position parameters vs delay

delay belongs to one tween’s configuration. A position parameter describes the child’s relationship inside its parent timeline.

32. Position parameters vs stagger

Position coordinates timeline children; stagger offsets multiple targets within one child tween.

33. Absolute vs relative timing

AbsoluteExact timeline second
RelativeRelationship to an end, start or label

34. Readability and maintainability

Prefer syntax that communicates intent. Labels help with named scenes; relative offsets help when timing should adapt to nearby durations.

35. Common position-parameter mistakes

  1. Putting position inside the vars object.
  2. Confusing timeline seconds with duration.
  3. Assuming < means timeline start.
  4. Assuming > means timeline end.
  5. Overlapping everything.
  6. Hard-coding too many absolute seconds.
  7. Using unclear label names.
  8. Combining delay and position accidentally.
  9. Rebuilding timelines on each click.
  10. Ignoring reduced motion.

36. Designing better overlaps

Begin with small overlap values, watch content hierarchy, and ensure the viewer can understand each step without rushing.

37. Animation rhythm

Rhythm comes from alternating movement, overlap and breathing room. Uniform overlap can feel mechanical; variation should still remain consistent.

38. Accessibility

Reduced-motion mode shortens sequences and removes large movement while preserving order, controls and visible final content.

39. Performance

Position syntax itself is lightweight; performance still depends on targets and properties. Prefer transforms and opacity for these demos.

40. Mini challenge

Create label, heading, paragraph, three cards and CTA. Start the heading with "-=0.2", cards with "-=0.3", and CTA with ">+=0.1".

41. Quick reference

PositionMeaning
0.5Absolute time
+=0.5Gap after current end
-=0.3Overlap current end
<Previous start
<0.2After previous start
>Previous end
>+=0.2After previous end
contentAt label
content+=0.2After label

42. Position parameter cheat sheet

Use absolute seconds for fixed placement, +=/-= relative to the current end, </> relative to the previous child, and labels for named moments.

43. Mental model

The timeline is a time canvas. Every child occupies a range. The position parameter chooses the child’s starting coordinate on that canvas.

44. Preview: timeline + stagger

The next lesson combines timeline-level sequencing with detailed stagger patterns to build advanced animation systems. It remains unlinked until created.

Review GSAP basics, targeting, to(), from(), fromTo() and expressive easing.

Frequently asked questions

What is the GSAP timeline position parameter?

It is the optional argument that tells GSAP where a child animation starts on its parent timeline.

How do I overlap animations in a GSAP timeline?

Use a relative position such as "-=0.3" or a previous-start reference such as "<".

What does +=0.5 mean in a GSAP timeline?

It adds a 0.5-second gap after the current timeline end before placing the tween.

What does -=0.3 mean in a GSAP timeline?

It places the tween 0.3 seconds before the current end, creating overlap.

What does the less-than symbol mean in a GSAP timeline?

The < position aligns a tween with the start of the most recently added animation.

What does the greater-than symbol mean in a GSAP timeline?

The > position aligns a tween with the end of the most recently added animation.

What are GSAP timeline labels?

Labels are readable names for important timeline positions.

Can I combine stagger with the position parameter?

Yes. The position places the staggered tween, while stagger offsets its individual targets.

Should I use position parameters instead of delay?

Use position parameters for relationships inside a timeline; delay remains useful for local tween timing.

Can I use GSAP timeline positions on a PHP website?

Yes. PHP renders the markup and GSAP controls timeline timing in the browser.