本文へスキップ

カード→詳細のモーフ

一覧のカードを押すと、その位置と大きさを計測して枠いっぱいの詳細へ拡大する(FLIP)。閉じると同じ経路で元のカードへ戻るので、どこから来たかを見失わない。

ENGLISH

FLIP Layout Morph (Card to Detail)

  • JS
151動きと演出 / モーション・トランジション の一覧 →

プレビュー

クリック

操作クリック/タップで動きます。

デザインの要点

  • 拡大は「新しい画面を出す」のでなく「同じ要素が大きくなる」。位置の連続性が、戻る場所の記憶になる
  • transform-origin を左上に固定し、translate と scale を同時に補間する。中心基準だと途中で位置がずれて見える
  • 拡大 400ms に対して縮小は 300ms。行きは見せ場、帰りは片付けなので短くする
  • 詳細の本文は拡大が終わってからフェードで出す。拡大中に文字が引き伸ばされるのを見せない

コード(コピーして使えます)

<div class="lm-stage" id="lmStage">
  <button class="lm-close" id="lmClose" type="button" aria-label="閉じる">×</button>
  <div class="lm-grid">
    <div class="lm-card" role="button" tabindex="0" style="--lm-c:#2b50c7" data-title="予約管理" data-body="店舗の予約台帳をクラウド化。空き枠の自動提案で、電話対応が月 40 時間減りました。">
      <span class="lm-thumb"></span><span class="lm-name">予約管理</span>
    </div>
    <div class="lm-card" role="button" tabindex="0" style="--lm-c:#c7692b" data-title="在庫アラート" data-body="発注点を下回った品目だけを毎朝通知。欠品による機会損失を四半期で 12% 減らしました。">
      <span class="lm-thumb"></span><span class="lm-name">在庫アラート</span>
    </div>
    <div class="lm-card" role="button" tabindex="0" style="--lm-c:#2b8a5c" data-title="請求書の自動化" data-body="納品データから請求書を生成し、期日にメール送付。手作業の転記ミスがゼロになりました。">
      <span class="lm-thumb"></span><span class="lm-name">請求書の自動化</span>
    </div>
    <div class="lm-card" role="button" tabindex="0" style="--lm-c:#8a2b6e" data-title="シフト調整" data-body="希望シフトの収集から確定までをアプリ内で完結。店長の調整時間が週 5 時間から 1 時間に。">
      <span class="lm-thumb"></span><span class="lm-name">シフト調整</span>
    </div>
  </div>
  <div class="lm-detail" id="lmDetail" aria-live="polite">
    <h3 class="lm-title" id="lmTitle"></h3>
    <p class="lm-body" id="lmBody"></p>
  </div>
</div>

タグ

同じカテゴリ「モーション・トランジション」のほかのパーツ

関連パーツ