Bootstrap 4 tutorial

コンポーネント(12): スクロールスパイ / スピナー / トースト / ツールチップ

スクロールスパイ

インジケータコンポーネント( ナビゲーション または リストグループ )のアクティブアイテム表示と縦スクロールするコンテンツのスクロールを同期させる機能。

仕組み

スクロールスパイはJavaScriptを用いてスクロールするコンテンツの現在位置を監視し、インジケータ(ナビゲーションまたはリストグループ)のアクティブ表示を更新する。機能上の必要条件は次の通り。

使用法

ナビゲーションバーへの設定

デモページ

階層ナビゲーションへの設定

デモページ

リストグループへの設定

デモページ

スピナー

スピナーは主に「ロード中」状態を表示するのに用いられる。

ボーダースピナー

色の設定

.text-(primary|secondary|success|danger|warning|info|light|dark) を追加する。

.text-primary
.text-secondary
.text-success
.text-danger
.text-warning
.text-info
.text-light
.text-dark

拡大スピナー

.text-primary
.text-secondary
.text-success
.text-danger
.text-warning
.text-info
.text-light
.text-dark

アラインメント

マージン

空白ユーティリティ を用いる。

.m-0
.m-1
.m-2
.m-3
.m-4
.m-5
配置

各種ユーティリティを利用できる。

Flexboxユーティリティ

要素の配置設定自動マージン を用いた例。

Loading...
フロート

フロートクリアフィックス を用いた例。

.float-left
.float-right
テキストアライン

テキストユーティリティ を用いた例。

.text-left
.text-center
.text-right

サイズ

小型のスピナーは.spinner-(border|grow)-sm を追加する。

div.spinner-border.spinner-border-sm
div.spinner-grow.spinner-grow-sm

カスタムCSSまたはインラインスタイルを用いて任意の大きさに設定できる。

style="width: 1rem; height: 1rem;"
style="width: 2rem; height: 2rem;"
style="width: 3rem; height: 3rem;"
style="width: 4rem; height: 4rem;"
style="width: 5rem; height: 5rem;"
style="width: 6rem; height: 6rem;"

ボタン

ボタン内部にスピナーを用いて現在実行中のアクションを表現できる。

トースト

トーストは主に短時間だけ表示する通知メッセージ用に用いられる。トーストはデフォルト状態は非表示であり、表示するには次のようなJavaScriptコードを用いる。

$('.toast').toast('show');

デフォルト設定では表示後500ms後に自動的に画面から消去されるが、下記のdata属性オプションを用いて消去までの時間を設定したり、消去せずそのまま画面上に残すこともできる。

基本例
data属性オプション

トースト外枠 div.toast に次の属性を用いて動作を設定できる。

デモ

次のデモを使って上記data属性オプションを実際に確認できる。

半透明

トーストは半透明で(背景が透けて見える)、さらにブラウザが backdrop-filter CSSプロパティをサポートしている場合は背景のぼかし効果も加える。

積み重ね

トーストは複数個を同時表示可能で、上下に積み重なった状態で表示する。

配置

CSSのインラインスタイルを用いて、トーストを任意の場所に配置できる。次は(もっとも典型的な)左上への配置例(設定方法は下記 をクリックして表示)。

Logo placeholderBootstrap11 mins ago
Hello, world! This is a toast message.

複数積み重ね表示と組み合わせる場合はラッパ要素を用いてグループ化すればよい。

アクセシビリティ

まとめ

ツールチップ

HTML要素の title 属性を用いたツールチップ(ポップアップ)表示機能をカスタマイズしたもの。実装に Popper.js を利用している。

初期化方法

Bootstrapのツールチップは初期状態では無効になっており、有効にするためにはJavaScriptコードが必要。最も簡単な方法を次に示す。

$('[data-toggle="tooltip"]').tooltip();

設定方法

設定例 ⇒ この部分 に設定(ホバーすると表示)

表示方向の設定

設定例

HTMLを用いたテキスト設定

設定例 ⇒ この部分 をホバーすると表示

無効化した要素への設定

要素に属性 disabled を設定した場合ツールチップは表示されなくなる。次の例は button に下記の通り設定しているが、ツールチップはポップアップしない。

設定例(ツールチップは表示されない)

しかし disabled は設定するがツールチップは表示したケースもある。その場合は親要素を作ってそこにツールチップを設定し、その中に disabled を設定した要素を入れればよい。対応例は次の通り。

設定例: buttondisabled だがツールチップは動作する(実際は親要素が処理している)