このページの中身

よく使う動き3種

実務で作る動きは、たいてい入場・開閉・通知の3つに収まります。3つとも完成形を置いたので、値だけ案件に合わせて差し替えます。

動きの設計 で「その動きが何を説明しているか」を決めたあと、実際に書くコードです。3つとも動きを減らす設定への対応まで含めてあります。

共通の土台#

3つのコードはこのトークンを前提にしています。出発点のCSS を貼っていれば、すでに入っています。

このコードで動いている見本です

動き何を説明するか時間
フェード入場いま増えた分がどれか240ms・時差60ms
アコーディオン開閉押した見出しの下に中身がある開き240ms・閉じ120ms
トースト出現いま済んだ操作の結果出200ms・引き120ms

1 フェード入場#

実表示 追加された3枚の入場

  • 新しい記事 1
  • 新しい記事 2
  • 新しい記事 3

一覧に追加された分だけを、少し下から浮かせます。「もっと見る」で足された分や、絞り込んだ結果に使う形です。時差をかけるのは先頭の3枚まで。 全件にかけると、押した人が見ていない場所で最後の1枚が止まるまで、待ち時間だけが伸びます。

このコードで動いている見本です

このコードで動いている見本です

backwards を付けると、待っている間も from の状態で止まります。これが無いと、遅らせたカードが一瞬だけ完成形で見えてから消え、また出てきます。

差し込んだあとに is-new を外す処理を入れておくと、次の追加でまた動きます。

このコードで動いている見本です

2 アコーディオン開閉#

実表示 detailsによる開閉

送料はいくらかかりますか

全国一律 550円です。

details と summary なら、開閉そのものは JavaScript なしで動きます。高さの補間だけを CSS で足します。interpolate-size に対応していないブラウザでは、動きが付かずに開閉するだけです。機能は落ちません。

このコードで動いている見本です

このコードで動いている見本です

summary の三角は回します。回すのは transform なので、開閉のたびに再計算は走りません。

このコードで動いている見本です

3 トースト出現#

実表示 操作結果の通知

保存や送信の結果を短く知らせます。動きだけで伝えないのが要点です。消えたあとに何も残らないので、重要な結果はページ本文にも残します。

このコードで動いている見本です

このコードで動いている見本です

role="status" を付けると、画面を見ていない人にも読み上げられます。role="alert" は読み上げ中の内容を割り込んで止めるので、失敗の知らせだけに使います。

出す側は、消したあとも要素を残しておきます。作り直すと、次の通知でまた出入りの動きが要ります。

このコードで動いている見本です

確認する#

出典#

関連#

この資料は、Webサイトを作るときに引くためのものです。 何のために作ったか。作っているのは AK²Lab。