Start learning with our library of video tutorials taught by experts. Get started
Viewers: in countries Watching now:
With robust and ever-increasing browser support, it is now possible to take advantage of expressive CSS3 capabilities across modern browsers. In this course, Joseph Lowery explores the possibilities of the new coding options, which animate well over 50 different properties automatically or interactively, and how they open the door to enhanced user experiences. This course covers the range from simple to complex transitions, including 2D and 3D transforms, and illustrates how transitions are expedited in various web authoring tools, as well as Dreamweaver. The course also contains a start-to-finish interactive slideshow project that allows you to practice and see the transitions and transforms immediately in action.
There's a lot more finesse to Transitions than just specifying a property and the duration. In this video I'll show you how you can make the transition more lifelike with the timing functions and even how you can control the period before the animation kicks in. Without any additional specifications, transitions start out slow, speed up and then slow down a bit before finishing, this is known as an ease transition. Taken from the animators so-called easing functions, and in a graph it looks like this.
You can modify how transitions are applied through the transition-timing-function property. There're five preset values, starting with a default ease. Next is linear, which displays the transition at a constant rate. Then there is ease-in, which starts slow and speeds up. The opposite of that is ease-out, which starts quickly and then slows down. And then there's the combination of the two ease-in-out, that starts slow, speeds up, and then slows down again.
You may notice that ease-in and ease-in-out are similar, but the middle part of the ease transition is notably faster. For transition-timing-function property has one more possible value: cubic-Bezier, which takes as parameters two sets of two numbers, all comma separated, typically between 0 and 1. These X/Y coordinates describes the position of the Bezier handles. This flexibility allows you to create custom timing functions like this one that starts out very slow and speeds up at the end.
The first pair of numbers, 0.950 and 0.050, plots the initial Bezier handle, and the second, 0.795 and 0.035, the ending handle. It's one thing to see the graph of these options, but how they do look in the browser? I've prepared an example page so you can see that for yourself. You will find it in the exercise files under Chapter 1, subfolder 01_02, called timing_function_examples.htm.
So let's run through the paces, so you can see how these work. So first, let's take a look at Ease (default). I started up so that it also changes color during the transition, and when I have a route, it comes back. You can see the difference in speed as it progresses across the page. Now let's try Linear, very even transition, I will bring it back. Ease-In will start out slow and then speed up, and it reverse again, slow and speeding up. Ease-Out, as I said, the opposite of that, so it will start out quickly and then slowdown.
And then there is Ease-In-Out, as I said, for the combination of the two that starts slow, speeds up and slows down again. Now finally, here's a cubic-Bezier value, using the custom values that I mentioned earlier. This will start out extremely slowly and then zoom across the page and in reverse. In addition to changing the timing of the transition, you can also add a delay. Now, granted, there are few cases in which you want to hold back on a user of direction, but it's good to know that the option is there should you need it.
Here's the code transition-delay value, for both transition delay and transition-timing function, you can use S for seconds or M-S for milliseconds. I've added a half second delay to the transition timing function, so you can check out the effect for yourself on the file called delay-examples.htm, found in the same folder. So now I'll hover over the first one, and you'll see there will be a brief delay before it takes off. And again, when I hover out, together for transition timing function and transition delay properties, bring a high degree of finesse and customization to your transitions.
As always, you'll want to apply these properties judiciously.
There are currently no FAQs about CSS: Transitions and Transforms.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.