Short

css stuff

Translate 3D text effect

Wrap the text into a blocked, overflow-hidden container, toggle transform: translate3d(0, 100%, 0); on the text.

Result

result

How to do it?

<div>
    <h1>Hi!</h1>
</div>
div {
    overflow: hidden;
}
  
h1 {
    font-size: 50px;
    display: block;
    transform: translate3d(0, 100%, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1) 0ms;
}
  
h1.active {
    transform: translate3d(0, 0, 0);
}