Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Reference
  4. Properties
  5. transition

transition

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

* Some parts of this feature may have varying levels of support.

ThetransitionCSS property is ashorthand property fortransition-property,transition-duration,transition-timing-function,transition-delay, andtransition-behavior.

Try it

transition: margin-right 2s;
transition: margin-right 2s 0.5s;
transition: margin-right 2s ease-in-out;
transition: margin-right 2s ease-in-out 0.5s;
transition:  margin-right 2s,  color 1s;
transition: all 1s ease-out;
<section>  <div>Hover to see<br />the transition.</div></section>
#example-element {  background-color: #e4f0f5;  color: black;  padding: 1rem;  border-radius: 0.5rem;  font: 1em monospace;  width: 100%;  transition: margin-right 2s;}#default-example:hover > #example-element {  background-color: #990099;  color: white;  margin-right: 40%;}

Transitions enable you to define the transition between two states of an element. Different states may be defined usingpseudo-classes like:hover or:active or dynamically set using JavaScript.

Constituent properties

This property is a shorthand for the following CSS properties:

Syntax

css
/* Apply to 1 property *//* property name | duration */transition: margin-right 4s;/* property name | duration | delay */transition: margin-right 4s 1s;/* property name | duration | easing function */transition: margin-right 4s ease-in-out;/* property name | duration | easing function | delay */transition: margin-right 4s ease-in-out 1s;/* property name | duration | behavior */transition: display 4s allow-discrete;/* Apply to 2 properties */transition:  margin-right 4s,  color 1s;/* Apply to all changed properties */transition: all 0.5s ease-out allow-discrete;transition: 200ms linear 50ms;/* Global values */transition: inherit;transition: initial;transition: revert;transition: revert-layer;transition: unset;

Thetransition property value is specified as one of the following:

  • The special valuenone, which specifies that no transitions will occur on this element. This is the default value.
  • One or more single-property transitions, separated by commas.

Each single-property transition describes the transition that should be applied to a single property or all properties. It includes:

  • zero or one value representing the property or properties to which the transition should apply. This can be set as:
    • A<custom-ident> representing a single property.
    • The special valueall, which specifies that the transition will be applied to all properties that change as the element changes state.
    • No value, in which case a value ofall will be inferred and the specified transition will still apply to all changing properties.
  • zero or one<easing-function> value representing the easing function to use
  • zero, one, or two<time> values. The first value that can be parsed as a time is assigned to thetransition-duration, and the second value that can be parsed as a time is assigned totransition-delay.
  • zero or one value declaring whether to start transitions for properties whose animation behavior isdiscrete. The value, if present, is either the keywordallow-discrete or the keywordnormal.

If you specifyall as the transition property for one single-property transition, but then specify subsequent single-property transitions with<custom-ident> values, those subsequent transitions will override the first one. For example:

css
transition:  all 200ms,  opacity 400ms;

In this case, all the properties that change as the element changes state will transition with a duration of 200ms except foropacity, which will take 400ms to transition.

Seehow things are handled when lists of property values aren't the same length. In short, extra transition descriptions beyond the number of properties actually being animated are ignored.

Formal definition

Initial valueas each of the properties of the shorthand:
Applies toall elements,::before and::afterpseudo-elements
Inheritedno
Computed valueas each of the properties of the shorthand:
Animation typeNot animatable

Formal syntax

transition =
<single-transition>#

<single-transition> =
[none|<single-transition-property>]||
<time>||
<easing-function>||
<time>||
<transition-behavior-value>

<single-transition-property> =
all|
<custom-ident>

<easing-function> =
<linear-easing-function>|
<cubic-bezier-easing-function>|
<step-easing-function>

<transition-behavior-value> =
normal|
allow-discrete

<linear-easing-function> =
linear|
<linear()>

<cubic-bezier-easing-function> =
ease|
ease-in|
ease-out|
ease-in-out|
<cubic-bezier()>

<step-easing-function> =
step-start|
step-end|
<steps()>

<linear()> =
linear([<number>&&<percentage>{0,2}]#)

<cubic-bezier()> =
cubic-bezier([<number [0,1]> ,<number>]#{2})

<steps()> =
steps(<integer> ,<step-position>?)

<integer> =
<number-token>

<step-position> =
jump-start|
jump-end|
jump-none|
jump-both|
start|
end

Examples

Basic example

In this example, when the user hovers over the element, there is a half-second (500ms) delay before a two-secondbackground-color transition occurs.

HTML

html
<a>Hover over me</a>

CSS

We include two<time> values. In thetransition shorthand, the first<time> value is thetransition-duration. The second time value is thetransition-delay. Both default to0s if omitted.

css
.target {  font-size: 2rem;  background-color: palegoldenrod;  transition: background-color 2s 500ms;}.target:hover {  background-color: darkorange;}

Specifications

Specification
CSS Transitions Module Level 1
# transition-shorthand-property

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp