Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
Let's start with a completely over the top but totally justified statement. CSS Transitions bring life to your web pages, and I mean that pretty literally. The WC group that's putting together the recommendation for CSS Transitions--which as of this recording is at the Working Draft state--says that CSS Transitions allow property changes in CSS values to occur smoothly over a specified duration. In other words, a CSS transition animates the change in a CSS property like background color, and to animate is to give life.
Therefore, CSS Transitions bring a breath of life to your web pages. Basic transitions are pretty straight forward to code. Let's start with a simple example, a links background color. Here we have a couple of CSS rules for an anchor tag. Let's start with an orange background color. When the user's mouse hovers over the link, the background color changes to blue. When you see this in action, it looks just like an off/on switch, pretty mechanical. To create a transition you'll need to add at a minimum two CSS declarations to your initial state.
First, let's identify the property we want to transition with the declaration transition-property: background. You'll recall that the W3C definition stated that the changes were to occur over a specified duration. So let's specify that duration by adding another declaration, transition-duration: 1s. The S, of course, stands for seconds. And that's all you need to create a simple transition, which as you can see, in this demo is much more graceful than the plane link hover.
The key rule to remember is that transition declarations are always applied to the initial state. This allows you to work with any other triggering states, like focus or active. There are several other states you can apply, including a couple for form elements. So what can be transitioned? The WC3 spec includes a list of almost 50 properties, everything from background-color to z-index. As we all know, the W3C spec is one thing, and actual browser support is often another.
Are CSS Transitions ready to be used? If you go to the excellent resource caniuse.com and filter for transitions, you'll see that almost all current browsers-- with a notable exception of Internet Explorer-- support transitions, and have for quite sometime. The best news is that IE 10 is slated to extend support for transitions as well. Well, the most up-to-date versions of these browsers support the CSS transition properties as specified, earlier versions relied on the same properties with vendor prefixes.
So in order to reach the widest possible browser audience, designers often include a series of vendor prefix declarations as well as the generic declaration, all with the same values. In addition to extending support as far back as possible, it also future-proofs the code so that any new browser supporting the feature as specified is covered. Finally, one last caveat, we're definitely out on the edge here. Although the transitions and their cousins transforms--that I'll introduce later-- are working in many modern browsers, the W3C specifications are still evolving and may change at any point as might browser implementation.
During the development of this course, for example, I've definitely had the experience of a transition or transform working in one version of a browser, only to be broken in the next.
Get unlimited access to all courses for just $25/month.Become a member
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.