askill
slidev-transitions

slidev-transitionsSafety 95Repository

Add smooth slide transitions in Slidev. Use this skill for fade, slide, and custom transitions between slides.

15 stars
1.2k downloads
Updated 1/30/2026

Package Files

Loading files...
SKILL.md

Slide Transitions in Slidev

This skill covers adding smooth transitions between slides in Slidev, including built-in transitions, custom animations, and directional transitions.

When to Use This Skill

  • Adding polish to presentations
  • Creating smooth navigation experiences
  • Emphasizing slide changes
  • Matching presentation themes
  • Creating unique visual effects

Setting Transitions

Global Transition (Frontmatter)

---
transition: slide-left
---

Applied to all slides in the presentation.

Per-Slide Transition

---
transition: fade
---

# This slide fades in

---
transition: slide-up
---

# This slide slides up

Inline with Separator

# Slide 1

---
transition: zoom
---

# Slide 2 (zooms in)

Built-in Transitions

Fade Transitions

NameEffect
fadeSimple fade in/out
fade-outFade out, then appear
---
transition: fade
---

Slide Transitions

NameEffect
slide-leftNew slide enters from right
slide-rightNew slide enters from left
slide-upNew slide enters from bottom
slide-downNew slide enters from top
---
transition: slide-left
---

View Transition

Uses the modern View Transitions API:

---
transition: view-transition
---

Note: Requires browser support for View Transitions API.

Directional Transitions

Forward/Backward Different

Use | to separate forward and backward transitions:

---
transition: slide-left | slide-right
---
  • Going forward: slides left
  • Going backward: slides right

Common Patterns

# Natural slide direction
---
transition: slide-left | slide-right
---

# Vertical navigation
---
transition: slide-up | slide-down
---

# Fade forward, slide back
---
transition: fade | slide-right
---

Custom Transitions

CSS-based Custom Transition

Create styles/index.css:

/* Define custom transition */
.my-transition-enter-active,
.my-transition-leave-active {
  transition: all 0.5s ease;
}

.my-transition-enter-from {
  opacity: 0;
  transform: translateX(100px) rotate(10deg);
}

.my-transition-leave-to {
  opacity: 0;
  transform: translateX(-100px) rotate(-10deg);
}

Use in frontmatter:

---
transition: my-transition
---

Transition Classes

Slidev uses Vue transition classes:

ClassWhen Applied
[name]-enter-fromStarting state for enter
[name]-enter-activeDuring enter transition
[name]-enter-toEnding state for enter
[name]-leave-fromStarting state for leave
[name]-leave-activeDuring leave transition
[name]-leave-toEnding state for leave

Transition Examples

Scale Transition

.scale-enter-active,
.scale-leave-active {
  transition: all 0.4s ease;
}

.scale-enter-from {
  opacity: 0;
  transform: scale(0.8);
}

.scale-leave-to {
  opacity: 0;
  transform: scale(1.2);
}

Flip Transition

.flip-enter-active,
.flip-leave-active {
  transition: all 0.6s ease;
  transform-style: preserve-3d;
}

.flip-enter-from {
  opacity: 0;
  transform: rotateY(-90deg);
}

.flip-leave-to {
  opacity: 0;
  transform: rotateY(90deg);
}

Blur Transition

.blur-enter-active,
.blur-leave-active {
  transition: all 0.5s ease;
}

.blur-enter-from {
  opacity: 0;
  filter: blur(20px);
}

.blur-leave-to {
  opacity: 0;
  filter: blur(20px);
}

Bounce Transition

.bounce-enter-active {
  animation: bounce-in 0.5s;
}

.bounce-leave-active {
  animation: bounce-out 0.5s;
}

@keyframes bounce-in {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes bounce-out {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}

Swipe Transition

.swipe-enter-active,
.swipe-leave-active {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.swipe-enter-from {
  opacity: 0;
  transform: translateX(100%);
}

.swipe-leave-to {
  opacity: 0;
  transform: translateX(-100%);
}

View Transitions API

Basic Usage

---
transition: view-transition
---

Named View Transitions

<div style="view-transition-name: hero">
  Content that transitions smoothly
</div>

Elements with the same view-transition-name on consecutive slides will animate between their positions.

Practical Example

---
transition: view-transition
---

<div style="view-transition-name: card" class="w-32 h-32 bg-blue-500">
  Small card
</div>

---
transition: view-transition
---

<div style="view-transition-name: card" class="w-64 h-64 bg-blue-500">
  Card grows!
</div>

Transition Timing

Duration

.slow-fade-enter-active,
.slow-fade-leave-active {
  transition: all 1s ease; /* 1 second */
}

Easing Functions

/* Common easing functions */
.ease-in { transition-timing-function: ease-in; }
.ease-out { transition-timing-function: ease-out; }
.ease-in-out { transition-timing-function: ease-in-out; }
.linear { transition-timing-function: linear; }

/* Cubic bezier for custom easing */
.custom { transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

Delay

.delayed-enter-active {
  transition: all 0.5s ease 0.2s; /* 0.2s delay */
}

Transition Per Slide Type

Different Transitions for Different Content

---
layout: cover
transition: fade
---

# Title Slide

---
layout: default
transition: slide-left
---

# Content Slide

---
layout: section
transition: zoom
---

# Section Break

---
layout: end
transition: fade
---

# Thank You

Disabling Transitions

No Transition

---
transition: none
---

Disable Globally

---
transition: false
---

Best Practices

1. Consistency

Use the same transition family throughout:

# Good: Consistent slide family
---
transition: slide-left | slide-right
---

2. Match Content Type

ContentSuggested Transition
Cover/Titlefade
Regular contentslide-left
Section breakfade or zoom
Demo/Codefade
Conclusionfade

3. Keep It Subtle

Too flashy

.crazy-enter-active {
  animation: spin 2s, bounce 1s, flash 0.5s;
}

Professional

.subtle-enter-active {
  transition: opacity 0.3s ease;
}

4. Consider Audience

  • Technical presentations: Minimal transitions
  • Creative presentations: More freedom
  • Long presentations: Less distracting

5. Test Performance

Complex transitions may lag on:

  • Large presentations
  • Older devices
  • When exporting to PDF

Transition Presets

Professional Set

/* styles/transitions.css */

/* Gentle fade */
.pro-fade-enter-active,
.pro-fade-leave-active {
  transition: opacity 0.3s ease;
}
.pro-fade-enter-from,
.pro-fade-leave-to {
  opacity: 0;
}

/* Smooth slide */
.pro-slide-enter-active,
.pro-slide-leave-active {
  transition: all 0.35s ease-out;
}
.pro-slide-enter-from {
  opacity: 0;
  transform: translateX(30px);
}
.pro-slide-leave-to {
  opacity: 0;
  transform: translateX(-30px);
}

Playful Set

/* Energetic bounce */
.playful-enter-active {
  animation: pop-in 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

@keyframes pop-in {
  0% { transform: scale(0); opacity: 0; }
  80% { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}

Output Format

When configuring transitions:

---
# GLOBAL TRANSITION (first slide)
transition: [transition-name] | [backward-transition]
---

# Slide content...

---
# PER-SLIDE OVERRIDE (if needed)
transition: [different-transition]
---

# Different slide content...

TRANSITION PLAN:

  1. Cover slide: [transition]
  2. Content slides: [transition]
  3. Section breaks: [transition]
  4. Conclusion: [transition]

CUSTOM CSS (if needed):

.[name]-enter-active { ... }
.[name]-leave-to { ... }

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

88/100Analyzed 2/23/2026

Excellent skill document for Slidev slide transitions. Comprehensive coverage of built-in transitions, custom CSS, directional transitions, and View Transitions API. Highly actionable with extensive code examples and practical templates. Well-structured with clear sections, tables, and best practices. Includes 'When to Use This Skill' guidance and tags for discoverability. Suitable for any Slidev user needing smooth presentation transitions.

95
90
80
85
90

Metadata

Licenseunknown
Version-
Updated1/30/2026
Publisheryoanbernabeu

Tags

apitesting