インジケータコンポーネント( ナビゲーション または リストグループ )のアクティブアイテム表示と縦スクロールするコンテンツのスクロールを同期させる機能。
スクロールスパイはJavaScriptを用いてスクロールするコンテンツの現在位置を監視し、インジケータ(ナビゲーションまたはリストグループ)のアクティブ表示を更新する。機能上の必要条件は次の通り。
position: relative;overflow-y: scroll;height が何らかの形で設定されていることbody を用いる場合は上記条件は自動的に満たしている(設定不要)body を用いるか、または上記必要条件の属性を設定するdata-spy="scroll"data-target="#{indicator-id}"data-offset="{pixels}" (スクロール位置計算オフセット、デフォルトは "10" )id を設定するid="{indicator-id}" を設定するa と属性 href="#{target-id}" を設定する⇒ デモページ
⇒ デモページ
⇒ デモページ
スピナーは主に「ロード中」状態を表示するのに用いられる。
div.spinner-border 属性
role="status"span.sr-only
Loading....text-(primary|secondary|success|danger|warning|info|light|dark) を追加する。
.text-primary.text-secondary.text-success.text-danger.text-warning.text-info.text-light.text-darkdiv.spinner-grow 属性
role="status"span.sr-only
Loading....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各種ユーティリティを利用できる。
div.d-flex.align-items-center
strong
Loading...div.spinner-border 属性
role="status"aria-hidden="true".float-left.float-rightdiv.clearfix
div.spinner-border 属性
.float-(left|right)role="status"span.sr-onlyテキストユーティリティ を用いた例。
.text-left.text-center.text-rightdiv.text-(left|center|right)
div.spinner-border 属性
role="status"span.sr-only小型のスピナーは.spinner-(border|grow)-sm を追加する。
div.spinner-border.spinner-border-smdiv.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;"ボタン内部にスピナーを用いて現在実行中のアクションを表現できる。
button.btn.btn-primary 属性
type="button"disableddiv.spinner-(border|grow).spinner-(border|grow)-sm 属性
role="status"aria-hidden="true"span.sr-only
Loading...Loading...トーストは主に短時間だけ表示する通知メッセージ用に用いられる。トーストはデフォルト状態は非表示であり、表示するには次のようなJavaScriptコードを用いる。
$('.toast').toast('show');
デフォルト設定では表示後500ms後に自動的に画面から消去されるが、下記のdata属性オプションを用いて消去までの時間を設定したり、消去せずそのまま画面上に残すこともできる。
div.toast 属性
role="alert"aria-live="assertive"aria-atomic="true"data-autohide="false"div.toast-header
img.rounded.mr-2 属性
src="../img/20x20-blue.svg"alt="Logo placeholder"strong.mr-auto
Bootstrapsmall.muted
11 mins agobutton.ml-2.mb-1.close 属性
type="button"data-dismiss="toast"aria-label="Close"span 属性
aria-hidden="true"×div.toast-body
Hello, world! This is a toast message.トースト外枠 div.toast に次の属性を用いて動作を設定できる。
data-delay="{時間[msec]}" 消去までの時間を設定(デフォルト値は"500"[msec])data-animation="(true|false)" CSSアニメーションの設定(デフォルト値は "true" )data-autohide="(true|false)" 自動消去の設定(デフォルト値は "true" )次のデモを使って上記data属性オプションを実際に確認できる。
トーストは半透明で(背景が透けて見える)、さらにブラウザが backdrop-filter CSSプロパティをサポートしている場合は背景のぼかし効果も加える。
トーストは複数個を同時表示可能で、上下に積み重なった状態で表示する。
CSSのインラインスタイルを用いて、トーストを任意の場所に配置できる。次は(もっとも典型的な)左上への配置例(設定方法は下記 をクリックして表示)。
div.bg-secondary 属性
複数積み重ね表示と組み合わせる場合はラッパ要素を用いてグループ化すればよい。
div.bg-secondary 属性
aria-live="(assertive|polite|...)" を設定)
aria-atomic="true" を設定するrole="(alert|status|...)" を設定するHTML要素の title 属性を用いたツールチップ(ポップアップ)表示機能をカスタマイズしたもの。実装に Popper.js を利用している。
a や button などタブストップを受ける要素は Tab キーでフォーカスした場合もポップアップ表示する。Bootstrapのツールチップは初期状態では無効になっており、有効にするためにはJavaScriptコードが必要。最も簡単な方法を次に示す。
$('[data-toggle="tooltip"]').tooltip();
script を使っても動作しない。jquery, popper.js, bootstrap.jsが事前に必要で、これら3つの後に設定(実行)すること。data-toggle="tooltip"title="{表示テキスト}"設定例 ⇒ この部分 に設定(ホバーすると表示)
"top" )
data-placement=("top"|"right"|"bottom"|"left")設定例
data-html="true"title="TNT(C<sub>6</sub>H<sub>2</sub>(NO<sub>2</sub>)<sub>3</sub>CH<sub>3</sub>)"設定例 ⇒ この部分 をホバーすると表示
要素に属性 disabled を設定した場合ツールチップは表示されなくなる。次の例は button に下記の通り設定しているが、ツールチップはポップアップしない。
button.btn.btn-primary 属性
type="button"data-toggle="tooltip" (設定している)title="Disabled tooltip" (これも設定、しかし...)disabled (これを設定するとツールチップも無効化される)Disabled button設定例(ツールチップは表示されない)
しかし disabled は設定するがツールチップは表示したケースもある。その場合は親要素を作ってそこにツールチップを設定し、その中に disabled を設定した要素を入れればよい。対応例は次の通り。
span 属性
.d-inline-block ( button と同じ display にする)tabindex="0" ( Tab キーはここで受ける)data-toggle="tooltip"title="Disabled tooltip"button.btn.btn-primary 属性
type="button" style="pointer-events: none;" (イベントターゲットから完全に外す)disabledDisabled button設定例: button は disabled だがツールチップは動作する(実際は親要素が処理している)