基本のトーストを作る方法
基本のトーストを作る方法を紹介します。このサンプルでは、HTML・CSS・JavaScriptを使用して、画面右下へ一時的に表示されるトーストを作成します。ボタンをクリックするとトーストが表示され、一定時間が経過すると自動で閉じるため、利用者へ操作結果を分かりやすく伝えることができます。
保存完了、送信完了、コピー完了などの通知は、画面全体を切り替えることなく利用者へ伝えたい場面でよく利用されます。このサンプルでは、シンプルなトースト表示だけを実装しているため、既存のWebサイトや管理画面、会員サイト、ECサイトなどへ導入しやすく、通知UIの基本を学びたい方にもおすすめです。
タイトルや通知メッセージはHTMLから変更でき、CSSでは色、余白、角丸、影、表示位置、アニメーション時間などを調整できます。また、JavaScriptではトーストを表示する時間を変更できるため、用途に合わせて表示時間をカスタマイズできます。レスポンシブにも対応しているため、スマートフォン・タブレット・PCで利用しやすい基本的なトーストのサンプルです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
ボタンをクリックすると画面右下へトーストが表示され、3秒後に自動で閉じます。
「トーストを表示」をクリックすると、画面右下へトーストが表示され、3秒後に自動で閉じます。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマートフォン対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>基本のトースト</title>
<!-- CSSファイル -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- トースト操作エリア -->
<div class="basic-toast_wrap">
<!-- タイトル -->
<div class="basic-toast_title">
基本のトースト
</div>
<!-- 説明文 -->
<p class="basic-toast_text">
ボタンをクリックすると画面右下へトーストが表示され、3秒後に自動で閉じます。
</p>
<!-- トースト表示ボタン -->
<button
type="button"
class="basic-toast_button"
data-toast-open="">
トーストを表示
</button>
</div>
<!-- トースト -->
<div class="basic-toast_message" data-toast="">
保存しました
</div>
<!-- JavaScriptファイル -->
<script src="script.js"></script>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではトーストを表示するボタンと通知本体を配置し、CSSでは見た目や表示アニメーションを設定します。JavaScriptではボタンをクリックしたときにトーストを表示し、一定時間後に自動で閉じる処理を行います。シンプルな構成のため、初心者でも導入しやすい基本的なトーストのサンプルです。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
index.htmlはトーストを表示するボタンと通知本体を配置するファイルです。タイトル、説明文、ボタンの文字、通知メッセージを変更できます。
style.cssはトーストのデザインを設定するファイルです。背景色、文字色、余白、角丸、影、表示位置、表示アニメーションなどを変更できます。
script.jsはトーストの表示と自動で閉じる処理を行うファイルです。表示時間や表示タイミングを変更できます。
設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。「トーストを表示」ボタンをクリックすると画面右下へトーストが表示され、一定時間後に自動で閉じます。
カスタマイズできる内容
index.htmlではタイトル、説明文、ボタンの文字、通知メッセージを変更できます。
style.cssではトーストの背景色、文字色、余白、角丸、影、表示位置、アニメーション時間を変更できます。
script.jsではトーストを表示する時間を変更できます。
数値調整
style.css
max-width:700px;
操作エリアの最大横幅です。値を大きくすると全体が横に広がり、小さくするとコンパクトになります。
margin:40px auto;
操作エリアの上下余白です。値を大きくすると上下の間隔が広がり、小さくすると狭くなります。
padding:32px;
操作エリアの内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。
border-radius:18px;
操作エリアの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
font-size:22px;
タイトルの文字サイズです。値を大きくすると文字が大きくなり、小さくすると控えめになります。
right:24px;
トーストの右側の位置です。値を大きくすると左へ移動し、小さくすると画面右端へ近付きます。
bottom:24px;
トーストの下側の位置です。値を大きくすると上へ移動し、小さくすると画面下端へ近付きます。
padding:14px 18px;
トーストの内側余白です。値を大きくするとトースト全体が大きく表示されます。
border-radius:10px;
トーストの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
transition:0.3s;
表示・非表示のアニメーション時間です。値を大きくするとゆっくり表示され、小さくすると素早く切り替わります。
script.js
setTimeout(...,3000);
3000は3秒を表します。値を変更するとトーストが表示される時間を変更できます。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:700pxにより、画面幅に合わせて操作エリアが縮小されます。また、640px以下ではpadding:24px 18px;へ変更し、トーストはleft:16pxとright:16pxを指定して画面幅に合わせて表示されるため、スマートフォン・タブレット・PCで利用できます。
コメント