Cover transition

커버 전환

The new screen slides in on top of the old one, which stays where it is.

Also known as: CoverSlide overPresent modally
···
html
<div class="stage"><div class="s a">A</div><div class="scrim"></div><div class="s b over">B</div></div>
css
.stage{position:absolute;inset:0;overflow:hidden;background:var(--bg)}
.s{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font:800 clamp(16px,6vmin,30px)/1 sans-serif;color:#fff;letter-spacing:.04em}
.a{background:linear-gradient(135deg,#3b3b98,#1e1e4a)}
.b{background:linear-gradient(135deg,#f25c8a,#c9184a)}
.scrim{position:absolute;inset:0;background:#000;opacity:0;animation:scrim 3.6s ease infinite}
.over{animation:cover 3.6s cubic-bezier(.2,.8,.2,1) infinite;box-shadow:0 0 30px rgba(0,0,0,.5)}
@keyframes cover{0%,15%{transform:translateY(100%)}40%,70%{transform:translateY(0)}95%,100%{transform:translateY(100%)}}
@keyframes scrim{0%,15%{opacity:0}40%,70%{opacity:.4}95%,100%{opacity:0}}

A cover is a transition where the new screen **stacks on top**. The lower screen barely moves (maybe it dims), so users read it as "something was laid over where I am." iOS modal sheets and Android bottom sheets work this way.

It fits screens that are a **short detour you will return from**, not a continuous flow. Dismissing it lifts the cover and the original screen is exactly as it was, so users never lose their place.

Dimming the lower screen with a translucent scrim signals that it is inactive for now.

When to use

Use it for tasks you finish and return from — compose, filters, share sheets. Deep navigation calls for a push.

Open as page ↗

Suggest an entry

Tell us about a term, effect or component that’s missing. We read every suggestion.