Skip to content

Common props ​

All five transition components accept these props. Component-specific props are documented on each transition page.

Timing ​

MTransitionSlideClick this area to replay the transition.
Simplified code
<transition-slide
	:duration="400"
	:delay="0"
	easing="cubic-bezier(.25, .8, .5, 1)"
	:offset="[0,-32]"
>
	<div v-if="isVisible">Content</div>
</transition-slide>

duration, delay, and easing accept either one value for both phases or an object with complete enter and leave values.

vue
<transition-slide
  :duration="{ enter: 180, leave: 320 }"
  :delay="{ enter: 0, leave: 100 }"
  :easing="{ enter: 'ease-out', leave: 'ease-in' }"
>
  <div v-if="isVisible">Content</div>
</transition-slide>
PropTypeDefault
durationnumber | { enter: number; leave: number }300
delaynumber | { enter: number; leave: number }0
easingstring | { enter: string; leave: string }'cubic-bezier(.25, .8, .5, 1)'

Durations and delays are integer milliseconds. Easing values must be non-empty CSS transition timing functions.

Vue transition behavior ​

PropTypeDefaultPurpose
appearbooleanfalseAnimate an initially rendered child.
mode'in-out' | 'out-in'undefinedSequence old and new single children.
groupbooleanfalseRender TransitionGroup for keyed children.
tagstring'span'Tag rendered in group mode.
vue
<transition-fade appear mode="out-in">
  <component :is="currentView" :key="currentView" />
</transition-fade>

Visual behavior ​

PropTypeDefaultPurpose
motion'system' | 'enabled' | 'disabled''system'Apply the motion policy.
noOpacitybooleanfalseKeep opacity unchanged for supported presets in TransitionMixed.
staggernumber | { enter: number; leave: number }0Delay children entering or leaving together in group mode.
moveDurationnumber300Set list position-change duration in milliseconds.
noMovebooleanfalseKeep leaving group children in normal flow.

See List transitions for the group-only behavior.

Released under the MIT License.