nav 属性
aria-label="Pagination example"ul.pagination
li.page-item
a 属性
href="..."Previous , 1 , 2 , ... , Next例: 前後ボタンにシンボル文字を用いる場合
li.page-item
«span 属性
area-hidden="true"前/Previousli.page-item
»span 属性
area-hidden="true"次/Nextアイコンを用いる場合も同様: 次は Open Iconic の使用例(詳しくはソース参照)
各アイテムには状況に応じて無効化/アクティブの状態を設定する。次は最も一般的な条件の例。
li に .page-item を追加すれば内側のリンク a は自動的に無効化される。
li.page-item
.disabled を追加a
tabindex="-1" を設定(タブストップを受けないようにする)Previous (自動的に灰色表示)span.sr-only を設定
(current)例(1ページ目を表示している場合): Previous と 1 が無効化アイテム
li.list-item に .active を設定すればアイテムはアクティブ表示になる(Primary/青の背景)。しかし内部リンクは無効化されない。さらに.disabled と一緒に設定しても効果がない(無効化の設定が優先してアクティブ表示しない)。
そこで構造を変更し、無効化アイテムにはリンク a ではなく span を用いれば根本的に解決できる。
li.page-item.(active|disabled)
span.page-link ( a.page-link から変更)例(1ページ目の場合): Previous は無効化、1 はアクティブ、どちらもリンクがないのでアクションは受けない
リストの親 li.pagenation に .pagination-(lg|sm) を追加する。
.ul.pagination.pagination-lg
.ul.pagination (デフォルト)
.ul.pagination.pagination-sm
Flexboxユーティリティの .justify-content-* を用いる(⇒ .justify-content-* を用いた配置設定 )。
ul-pagination.justify-content-start
ul-pagination.justify-content-center
ul-pagination.justify-content-end
ポップオーバーは(iOSの同名機能と同様の)ポップアップ表示コンポーネント。実装に Popper.js を利用している。
ポップオーバーは初期状態はOFFになっており、有効にするためにはJavaScriptを用いた処理が必要。最も簡単なコード例を示す。
$('[data-toggle="popover"]').popover();
script を使っても動作しない。jquery, popper.js, bootstrap.jsが事前に必要で、これら3つの後に設定(実行)すること。data-toggle="popover"title="{タイトルテキスト}"data-content="{本文テキスト}"title , data-content は片方だけでもOK(どちらも値が空の場合は表示しない)設定例(クリックで表示、再クリックで表示終了)
"right" )
data-placement=("top"|"right"|"bottom"|"left")設定例
(デフォルトは)要素のクリックで表示したポップオーバーは同じ要素の再クリックで表示終了する。これにより複数同時表示が可能だが、逆に不自然(または不便)な場合もある。そのような場合は別の要素をクリックした時に表示終了(より正確にはフォーカスで表示ON/OFF)するように動作変更できる。
data-trigger="focus" を設定(ブラウザ側が完全対応すれば将来的にはこれだけでOK)a に限定( button ではまだ動作保証できない)tabindex="0" を必ず設定設定例
要素に属性 disabled が設定されている場合ポップオーバーは効かなくなる。次の例は button に下記の通り設定しているがポップオーバーは表示されない。
button.btn.btn-primary 属性
type="button"data-toggle="popover" (設定している)title="Disabled popover" (これも設定、しかし...)disabled (これを設定するとポップオーバーも無効化される)Disabled button
しかし disabled は設定するが、ポップオーバーは効くようにしたいケースもある。その場合は親要素を作ってそこにポップオーバーを設定し、その中に disabled を設定した要素を入れればよい。対応例は次の通り。
span 属性
.d-inline-block ( button と同じ display にする)data-toggle="popover"title="Disabled popover"button.btn.btn-primary 属性
type="button" style="pointer-events: none;" (ポインタイベントを受けないようにする)disabledDisabled button設定例: ボタンは disabled だがポップオーバーは動作する(実際は親要素が処理している)。
progress 要素の代替を目的としたコンポーネントで、バーの積み重ねやアニメーション付きストライプバーなど progress にはない追加機能を持つ。
div.progress
div.progress-bar (複数積み重ね可) 属性
style="width: 50%"role="progressbar" aria-valuenow="50"aria-valuemin="0"aria-valuemax="100"(1) カスタムスタイル style="width: {width}%”
style="width: 0%;"
style="width: 25%;"
style="width: 50%;"
style="width: 75%;"
style="width: 100%;"
(2) 幅設定ユーティリティ .w-(25|75|100) (⇒ サイズユーティリティ 、25%ステップ)
.w-25
.w-50
.w-75
.w-100
バー div.progress-bar の内部テキストを記述する。
ベースの div.progress に設定する。
style="height: 5px;"
style="height: 10px;"
style="height: 15px;"
style="height: 20px;"
div.progress-bar に背景色 .bg-{context} を追加(⇒ 色 - 背景色 )
.bg-success
.bg-info
.bg-warning
.bg-danger
div.progress-bar を複数用いれば左から右に積み重なる。
バーに .progress-bar-striped を追加する。
さらに .progress-bar-animated を追加する。