Motion

Motion

Motion consists of two parts:

  • Easing
    • emphasized
    • emphasized-decelerate
    • emphasized-accelerate
    • standard
    • standard-decelerate
    • standard-accelerate
  • Duration
    • short1
    • short2
    • short3
    • short4
    • medium1
    • medium2
    • medium3
    • medium4
    • long1
    • long2
    • long3
    • long4
    • extra-long1
    • extra-long2
    • extra-long3
    • extra-long4

For a detailed description of M3 Motion, see Definition of M3 Motion.

Import

Via JS/TS

import "@sandlada/material-design-css/motion.css"

Via CSS

@import "@sandlada/material-design-css/motion.css";

Usage

Duration

<div class="flex flex-col">
    <div class="slide-box primary animation-duration-short1"></div>
    <div class="slide-box primary animation-duration-short2"></div>
    <div class="slide-box primary animation-duration-short3"></div>
    <div class="slide-box primary animation-duration-short4"></div>
    <div class="slide-box primary animation-duration-medium1"></div>
    <div class="slide-box primary animation-duration-medium2"></div>
    <div class="slide-box primary animation-duration-medium3"></div>
    <div class="slide-box primary animation-duration-medium4"></div>
    <div class="slide-box primary animation-duration-long1"></div>
    <div class="slide-box primary animation-duration-long2"></div>
    <div class="slide-box primary animation-duration-long3"></div>
    <div class="slide-box primary animation-duration-long4"></div>
    <div class="slide-box primary animation-duration-extra-long1"></div>
    <div class="slide-box primary animation-duration-extra-long2"></div>
    <div class="slide-box primary animation-duration-extra-long3"></div>
    <div class="slide-box primary animation-duration-extra-long4"></div>
</div>

<style>
    .flex {
        display: flex;
        overflow: auto;
    }

    .flex-col {
        flex-direction: column;
    }

    .slide-box {
        position: relative;
        width: 40px;
        height: 40px;
        animation-name: slide-box-animation;
        animation-iteration-count: infinite;
    }

    @keyframes slide-box-animation {
        from {
            left: 0;
        }

        to {
            left: 100%;
        }
    }
</style>

Easing

<div class="flex flex-col">
    <div class="slide-box primary animation-duration-2000 animation-easing-emphasized"></div>
    <div class="slide-box primary animation-duration-2000 animation-easing-emphasized-decelerate"></div>
    <div class="slide-box primary animation-duration-2000 animation-easing-emphasized-accelerate"></div>
    <div class="slide-box primary animation-duration-2000 animation-easing-standard"></div>
    <div class="slide-box primary animation-duration-2000 animation-easing-standard-decelerate"></div>
    <div class="slide-box primary animation-duration-2000 animation-easing-standard-accelerate"></div>
</div>

<style>
    .flex {
        display: flex;
        overflow: auto;
    }

    .flex-col {
        flex-direction: column;
    }

    .slide-box {
        position: relative;
        width: 40px;
        height: 40px;
        animation-name: slide-box-animation;
        animation-iteration-count: infinite;
    }

    .animation-duration-2000 {
        animation-duration: 2000ms;
    }

    @keyframes slide-box-animation {
        from {
            left: 0;
        }

        to {
            left: 100%;
        }
    }
</style>