Easing Functions: ease linear cubic-bezier
Control the speed curve of transitions using built-in keywords and cubic-bezier() functions.
Easing Functions: ease linear cubic-bezier is a free CSS Academy lesson on CoddyKit. This is lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the CSS Academy learning path, and your progress syncs across the web and the CoddyKit app. The CSS Academy course includes 4 lessons in total.
What is an Easing Function?
An easing function controls the speed curve of a transition or animation — how fast it accelerates or decelerates over its duration.
linear
linear maintains constant speed throughout the transition. Useful for loading bars and progress indicators where steady motion is expected.
<div class="progress-track"><div class="progress"></div></div>ease (Default)
ease starts fast, then slows down near the end. This is the default and feels natural for most UI transitions.
ease-in
ease-in starts slowly and accelerates. Good for elements that are leaving the screen (exit animations).
<div class="modal">Open</div>
<div class="modal closing">Closing (faded to invisible)</div>ease-out
ease-out starts fast and decelerates. Great for elements entering the screen — they arrive with energy and settle smoothly.
<div class="modal opening">Modal content</div>ease-in-out
ease-in-out starts and ends slowly, with faster motion in the middle. Best for looping or back-and-forth animations.
cubic-bezier()
Defines a custom cubic Bézier curve with four control points. Enables spring-like and custom easing curves.
<div class="card">Card</div>Reading cubic-bezier Values
The four values define two control points: cubic-bezier(x1, y1, x2, y2). Values above 1 on y axis create overshoot (spring) effects. Use tools like easings.net to visualize curves.
steps() Function
steps(n, direction) divides the animation into n discrete equal steps. Perfect for sprite animations and typewriter effects.
<div class="sprite"></div>steps() Direction Keywords
The second argument controls where the step occurs:
jump-start: first step at time 0jump-end: last step at end time (default)jump-both: steps at both start and endjump-none: no step at either end
Modern: linear() for Complex Curves
The new linear() function allows defining arbitrary easing curves through multiple points — enabling spring and bounce effects in pure CSS without cubic-bezier limitations.
<div class="spring">Spring easing</div>Quick Check
Which easing function maintains a constant speed throughout the entire transition?
Recap
Easing functions control animation speed curves. Built-in options: linear, ease, ease-in, ease-out, ease-in-out. Custom curves use cubic-bezier(). Discrete steps use steps(). The new linear() function enables complex spring-like curves.
Learn CSS with an AI tutor — free
Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.
- Courses
- 40
- Lessons
- 159
Frequently Asked Questions
Is the “Easing Functions: ease linear cubic-bezier” lesson free?
Yes — the full text of “Easing Functions: ease linear cubic-bezier” is free to read here on the web. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the CSS Academy course, upgrade to CoddyKit PRO. The CSS Academy course includes 4 lessons in total.
What will I learn in “Easing Functions: ease linear cubic-bezier”?
Control the speed curve of transitions using built-in keywords and cubic-bezier() functions. You practise CSS Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start CSS Academy?
No prior experience is required. CSS Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 2 of 4.
How long does the “Easing Functions: ease linear cubic-bezier” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this CSS Academy lesson?
Yes. Every CSS Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Transition Property Duration and Timing
- Easing Functions: ease linear cubic-bezier
- Transitioning Multiple Properties
- Performance: Transformable vs Repainting Props