div.carousel.slide 属性
div.carousel.slide 属性
id="{カルーセルID}" を設定div.carousel-inner は 基本構成 と同じa.carousel-control-prev 属性
href="#{carousel-id}"data-slide="prev"span.carousel-control-prev-icon 属性
aria-hidden="true"span.sr-only
Previousa.carousel-control-next 属性
href="#{carousel-id}"data-slide="next"span.carousel-control-next-icon 属性
aria-hidden="true"span.sr-only
Nextdiv.carousel.slide 属性
id="{カルーセルID}"ol.carousel-indicators
li 属性
data-target="#{カルーセルID}"data-slide-to="{index}" (index = 0,1,2, ...).active を追加div.carousel-inner は 前後コントロールの追加 と同じdiv.carousel-inner
div-carousel-item(.active)?
img.d-block.w-100 (ここまで同じ)div.carousel-caption.d-none.d-md-block
h5
First slide labelp
Nulla vitae ...div.carousel.slide に .carousel-fade を追加ボタンを用いてセレクタで指定した(隠れ)ターゲット要素の表示をON/OFFする。
設定例: 左は a , 右は button , どちらもその下の div.collapse#ex-collapse をON/OFF
div.collaps#ex-collapseAnim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
a の場合: a.btn.btn-(primary|secondary|...) 属性
data-toggle="collapse"href="#{ターゲットID}" (ID以外のCSSセレクタも可)role="button"button の場合: button.btn.btn-(primary|secondary|...) 属性
type="button"data-toggle="collapse"data-target="#{ターゲットID}" (ID以外のCSSセレクタも可)aria-expanded="false" (初期状態で表示する場合 "true" )aria-controls="{ターゲットID}".collapse を設定(デフォルト状態は非表示).show を追加id="{ターゲットID}"ターゲットセレクタに(IDではなく)クラスを用いることにより複数ターゲットを同時にON/OFFすることができる。
構造a の場合 href=".{ターゲットクラス}"button の場合 data-target=".{ターゲットクラス}"class="{ターゲットクラス}" を設定例1: a を用いた場合(1,2単独はID、両方はクラスでターゲットを設定、詳細はソース参照)
Toggle (1)Toggle (2)Toggle (1)+(2)
例2: button を用いた場合
表示にカードを用い、3つのテキストを交互に出し入れする組み合わせ応用例。
div 属性
id="{親ID}"div.card (ここから先が出し入れするアイテム: 個数分)
div.card-header 属性
id="{見出しID}"h5
button.btn.btn-link 属性
data-toggle="collapse"data-target="#{子ターゲットID}"aria-expanded="false" or "true" (初期状態「開」の場合)aria-controls="{子ターゲットID}"div.collapse (アコーディオン操作でON/OFF) 属性
.show を追加id="{子ターゲット子ID}"data-parent="#{親ID}"aria-labelledby="{見出しID}"button を用いる場合div.dropdown (position: relative; であれば他の要素も可)
a を用いる場合ボタン用要素以外は同じ(異なる点のみ示す)。
a.btn.btn-(primary|secondary|success|info|warning|danger).dropdown-toggle 属性
href="..."data-toggle="dropdown"role="button"id , aria-haspopup , aria-expanded ) は同じ.btn-(primary|secondary|success|info|warning|danger)
div.btn-group
左側は通常のボタン、右端にドロップダウン用タブ(実際は2つの button 要素)
div.btn-group (注: スプリットボタンに .dropdown を使うと間が空くため不適)
button.btn.btn-(primary|secondary|...)
Primarybutton.btn.btn-(primary|secondary|...) に次を設定
.dropdown-toggle-splitspan.sr-only
Toggle Dropdown.btn-(lg|sm) を追加する。
(a|button).btn.btn-secondary.btn-lg
(Default)
(a|button).btn.btn-secondary.btn-sm
親として div.btn-group を用い、さらに .(dropup|dropright|dropleft) を追加する。
div.btn-group.dropup
div.btn-group.dropright
div.btn-group.dropleft
スプリット左ドロップだけ構造が若干異なる(一層多く必要)。
構造(スプリット左ドロップ)div.btn-group
div.btn-group.dropleft 属性
role="group"button.btn.dropdown-toggle.dropdown-toggle-split ...button.btn.dropdown-toggle(バージョン4から)メニューアイテムとして button.dropdown-item が使える(リンクではないため選択してもデフォルト動作でページ移動しない)。
選択できない(テキスト表示のみの)アイテムを (span).dropdown-item-text で作成できる。またアイテムには任意のHTML要素やCSSを用いた書式設定を行うことができる。
アイテムに .active を設定するとアクティブ(青背景に白字)表示になる(次の2番目アイテム)。
アイテムに .disabled を設定すると灰色表示になる(次の2番目アイテム)。
ただしどちらも表示効果のみの設定で、.active を用いたドロップダウンで別のアイテムを選択してもアクティブアイテムは変更されない。また.disabled を設定したアイテムも選択可能で、要素が a の場合はページ移動もする(無効化されない)。これは上の2つのボタンで実際に確認することができる。
これらを適切に処理するにはJavaScriptが必要になる。簡単な例を作ってみた。
id="active-disabled-example".active 、アイテム5を.disabled に設定span#active-indicator で現在のアクティブアイテムを表示// Dropdown: Active/disabled states demo
$('#active-disabled-example').delegate('a', 'click', function(event) {
var item = $(this);
event.preventDefault(); // prevent default link behaviors
if (item.hasClass('disabled')) return; // implement disabled behaviors
// update the active item
$('#active-disabled-example a').removeClass('active');
item.addClass('active');
$('#active-indicator').text(item.text());
});
click イベントハンドラを親(ドロップダウンメニュー)に設定
a にデリゲート(子アイテムが個別に受けるより効率的)event.preventDefault() でデフォルト動作を阻止
a の場合必須 - これがないと(先頭に)ジャンプするbutton の場合は不要.disabled が設定されていれば何もしない(return).active を削除.active を追加デフォルトではドロップダウンメニューは親要素(起動ボタンでも同じ)の左端に揃えるが、ドロップダウンメニューに .dropdown-menu-right を設定すると右端同士が一致するように揃える。
メニューのヘッダには h6.dropdown-header を用いる。次の例では先頭の Dropdown header に設定している。リンク要素ではないため選択対象にはならない。
メニューアイテムの上下区切りには div.dropdown-divider を用いる。
ドロップダウンはメニュー選択用ではなくテキスト画面表示用にも利用できる。
div.dropdown
アイテムとしてフォームを用いることもできる。
div.dropdown
button.btn.btn-secondary.dropdown-togglediv.dropdown-menu
form 属性
.px-4.py-3div.dropdown-divider属性 data-offset="{x-offset-px},{y-offset-px}" を用いて表示位置の基準点を平行移動できる。
div.dropdown
button.btn.btn-secondary.dropdown-toggle
data-offset="100,20"属性 data-reference="parent" を用いてメニュー表示の基準位置を親要素に変えることができる。スプリットボタンに用いると親(ボタングループ)を基準としてメニュー配置を行う。
div.btn-group
button.btn.btn-secondary.dropdown-togglebutton.btn.btn-secondary.dropdown-toggle.dropdown-toggle-split
data-reference="parent"属性 data-display="static" を設定すると(Popperによる動的位置判定を無効化して)常に下向きにドロップする。
div.dropdown
button.btn.btn-secondary.dropdown-toggle
data-display="static"