NMA COMPONENT DEMO

NMA Type Animation: Steps

.nma-typeanimationsteps

An animated text effect that renders two statements as if they were on a staircase.


HTML:

<div class="nma-typeanimationsteps">
    <ul class="nma-typeanimationsteps-words">
        <li class="nma-typeanimationsteps-words-line">
            <p>Take</p>
            <p>Study</p>
        </li>
        <li class="nma-typeanimationsteps-words-line">
            <p>The</p>
            <p>Interface</p>
        </li>
        <li class="nma-typeanimationsteps-words-line">
            <p>Next</p>
            <p>Design</p>
        </li>
        <li class="nma-typeanimationsteps-words-line">
            <p>Step</p>
            <p>and</p>
        </li>
        <li class="nma-typeanimationsteps-words-line">
            <p>In Your</p>
            <p>Animation</p>
        </li>
        <li class="nma-typeanimationsteps-words-line">
            <p>Career</p>
            <p>At KCC</p>
        </li>
    </ul>
</div>

CSS:

.nma-typeanimationsteps {
    --bgcolor: #039;
    background: #000;
    background: var(--bgcolor);
    color: #FFFFFF;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 1em;
    height: 100%;
    overflow-x: hidden;
}

.nma-typeanimationsteps * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 1;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words {
    margin: 0 auto;
    padding: 80px 100px 180px 0;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 60px;
    font-size: clamp(30px, 6vw, 60px);
    font-weight: 900;
    letter-spacing: -1px;
    text-transform: uppercase;
    transform: translate3d(0, 0, 0);
    -webkit-font-smoothing: antialiased;
    -webkit-font-kerning: normal;
    -webkit-text-size-adjust: 100%;
}


.nma-typeanimationsteps .nma-typeanimationsteps-words-line {
    height: 53px;
    overflow: hidden;
    position: relative;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(odd) {
    transform: skew(60deg, -30deg) scaleY(0.66667);
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(even) {
    transform: skew(0deg, -30deg) scaleY(1.33333);
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(1) {
    left: 0px;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(2) {
    left: 29px;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(3) {
    left: 58px;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(4) {
    left: 87px;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(5) {
    left: 116px;
}

.nma-typeanimationsteps .nma-typeanimationsteps-words-line:nth-child(6) {
    left: 145px;
}

.nma-typeanimationsteps p {
    height: 53px;
    line-height: 48px;
    padding: 0 10px;
    transition: all 0.4s ease-in-out;
    transform: translate3d(0, 0, 0);
    vertical-align: top;
    white-space: nowrap;
    -webkit-animation: 7s ease-in-out infinite nma-typeanimationsteps-stepswitch;
    animation: 7s ease-in-out infinite nma-typeanimationsteps-stepswitch;
}

@keyframes nma-typeanimationsteps-stepswitch {
    0% {
        transform: translate3d(0, 0, 0);
    }

    45% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -53px, 0);
    }

    95% {
        transform: translate3d(0, -53px, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 767px) {
    .nma-typeanimationsteps .nma-typeanimationsteps-words-line {
        height: 36px;
    }

    .nma-typeanimationsteps .nma-typeanimationsteps-words {
        padding-bottom: 150px;
    }
}

JS:

No Javascript required.
        

Issues, Future To-do's, & Feature Wish-list:

Dev Log: