transition-property
Overview
As a CSS property, transition-property defines the CSS properties that will have a transition effect when their values change. It works alongside other transition properties, such as transition-duration, transition-timing-function, and transition-delay, to create smooth and customizable animations.
Note: You can use the shorthand
transitionproperty to settransition-propertyalong with other transition-related properties in a single declaration."
Examples and Usage
In the following sections, we'll observe two distinct examples that highlight the application of transition-property with various CSS properties.
HTML Structure
<span class="growing-text">Transition-Property</span>
<div class="shapeshifter"></div>
Example 1: Growing Text
In this example, we create a text animation with the transition-property set to animate both the color and font-size properties. Upon hovering over the text, the color will change to #C63131 and the font size will increase to 2.4rem. The transition-duration is set to 1 second for a smooth and gradual transition.
/* Growing Text Example */
.growing-text {
font-family: 'UI Monospace', monospace;
font-size: 1.2rem;
/* Add transition properties */
transition-property: color, font-size;
transition-duration: 1s;
}
.growing-text:hover {
color: #C63131;
font-size: 2.4rem;
}
Example 2: Shapeshifter
Here, we create a shape animation using the transition-property to animate the background-color and border-radius properties. When hovering over the shape, the background color will change from #000 to #fbbf24 and the border-radius will transition from 0 to 50%, effectively changing the shape from a square to a circle.
/* Shapeshifter Example */
.shapeshifter {
width: 100px;
height: 100px;
background-color: #000;
border-radius: 0;
/* Add transition properties */
transition-property: background-color, border-radius;
transition-duration: 2s;
}
.shapeshifter:hover {
background-color: #fbbf24;
border-radius: 50%;
}
Values
transition-property accepts the following values:
| Value | Description |
|---|---|
all | (Default) Indicates that all properties that can be animated will have a transition effect applied. |
none | Indicates that no properties will have a transition effect applied. |
<property> | A comma-separated list of CSS property names to which the transition effect is applied. |
Associated Properties
transitiontransition-durationtransition-timing-functiontransition-delay
Tips and Tricks
Animating shorthand properties, such as
background, will cause all of its animatable longhand sub-properties to be animated. To animate specific sub-properties, specify them individually in thetransition-propertyvalue.When specifying multiple properties using comma-separated values, keep in mind that each property is mapped to its corresponding transition properties (
transition-timing-function,transition-duration, andtransition-delay). If the list includes invalid property names, the remaining properties will still transition as intended.Common use cases for
transition-propertyinclude animating elements in response to user interactions, such as changing an element's position, size, or background color when hovering over a button or focusing on a form input.
Browser Compatibility
Older versions of Chrome, Safari, and Firefox may require vendor prefixes for this property. Refer to the Useful Resources section below for more specific information.
| Browser | Chrome | Edge | Safari | Firefox | Opera | Internet Explorer |
|---|---|---|---|---|---|---|
| Support | Yes* | Yes* | Yes* | Yes* | Yes* | Yes* |
Caution: Internet Explorer support data may be incorrect since MDN browser-compat-data no longer updates it. Also, early Edge versions used EdgeHTML, leading to mismatched version numbers. From version 79, Edge uses Chromium with matching version numbers.