スナックバー(アクションボタン付き)

UI コンポーネント Medium #js #snackbar #material

スナックバーは Material Design で定義された通知 UI で、画面下中央に短い文と操作ボタンをまとめて表示します。このサンプルはボタンで showSnack() を呼び、 translateX(-50%) translateY(140%) で画面外に待機していたバーをスライドインさせます。

▶ プレビュー

解説

スナックバーは Material Design で定義された通知 UI で、画面下中央に短い文と操作ボタンをまとめて表示します。このサンプルはボタンで showSnack() を呼び、translateX(-50%) translateY(140%) で画面外に待機していたバーをスライドインさせます。「元に戻す」アクションと「×」閉じるボタンを備え、5秒後に自動で消えるほか、各ボタンのクリックでも非表示になります。連続表示に備えて clearTimeout でタイマーを作り直しています。

採用するとよい場面

  • 削除・アーカイブ直後に「元に戻す」を提供したいとき
  • 一括操作の結果をまとめて伝えたいとき
  • トーストより一歩踏み込んだ操作導線が必要なとき

表示時間は setTimeout の 5000 ミリ秒、位置は bottom の値で調整します。「元に戻す」は取り消し可能な操作にだけ付けるのが原則です。閉じるボタンには aria-label が付いており、スクリーンリーダーでも用途が伝わるようになっています。

よくある質問

トースト通知とは何が違いますか
トーストは結果を伝えるだけで操作ボタンを持ちませんが、スナックバーは画面下中央に表示され「元に戻す」などのアクションボタンを併せ持ちます。取り消し可能な操作の直後に向いています。
自動で消えるまでの時間は変えられますか
変えられます。JavaScript 内の setTimeout の 5000 がミリ秒単位の表示時間です。値を大きくすれば長く表示されます。閉じるボタンや元に戻すを押せば、その前でも消えます。
追加日:2026-05-11
← すべてのスニペットへ戻る