カルーセルパネル
画像を目立つように配置したいときは、カルーセルパネルを使います。ここではカルーセルパネルの使い方について説明します。
基本のカルーセルパネル
カルーセルパネルとは、アルバムのように画像がメインのコンテンツを左右にスライドしながら表示するコントロールです。
このサンプルのコードは次のとおりです。
<!-- 1.カルーセルパネルの配置 --> <div id="carousel-example" class="carousel slide" data-ride="carousel"> <!-- 2.表示中のスライドを表すリスト --> <ol class="carousel-indicators"> <li data-target="#carousel-example" data-slide-to="0" class="active"></li> <li data-target="#carousel-example" data-slide-to="1"></li> <li data-target="#carousel-example" data-slide-to="2"></li> </ol> <!-- 3.表示するスライドのコンテンツ --> <div class="carousel-inner"> <div class="item active"> <img src="images/beach1.jpg"> <div class="carousel-caption"> <h3>見出し1</h3> <p>説明1</p> </div> </div> ~中略~ </div> <!-- 4.左右の矢印ボタン --> <a class="left carousel-control" href="#carousel-example" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> </a> <a class="right carousel-control" href="#carousel-example" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> </a> </div>
コードの説明は次のとおりです。
1.カルーセルパネルの配置
カルーセルパネルを配置するときは、div要素のclass属性に"carousel"と"slide"を指定します。
2.表示中のスライドを表すリスト
今現在表示されている画像がどの位置(何番目か)を表すためのリストを用意します。リストはol要素のclass属性に"carousel-indicators"を指定します。たとえば、画像が3枚の場合は、以下のサンプルのようにol要素にli要素を3つ用意します。li要素にはdata-slide-to属性を設定します。data-slide-to属性には移動先のスライドを指定し、0からはじまる数値を設定します。
3.表示するスライドのコンテンツ
表示するスライドは、class属性に"carousel-inner"を指定したdiv要素内に配置します。スライドのコンテンツはclass属性に"item"を指定したdiv要素を用意します。カルーセルパネルは画像を前面に表示してスライドさせますので、img要素を配置します。この画像に見出しや説明をつけたいときは、div要素のclass属性に"carousel-caption"を指定します。
4.左右の矢印ボタン
カルーセルパネルの左右に、矢印ボタンを配置するため、class属性に"left"と"carousel-control"を指定したa要素と、class属性に"right"と"carousel-control"を指定したa要素を配置します。このボタンにはdata-slide属性の値を指定します。左の場合は"prev"、左の場合は"next"にします。そして、スライドのボタンだということをユーザに分かりやすくするため、左右に矢印のグリフアイコンをもつspan要素を配置します。
これで、サンプルのようなカルーセルパネルが配置できました。
カルーセルパネルの表示条件
カルーセルパネルでスライドを表示する際の、スライドとスライドの表示間隔を指定するには、data-interval属性の値を設定します。data-interval属性には、表示間隔の時間をミリ秒で指定します。たとえば、data-interval="5000"では、5秒ごとにスライドが移動します。
また、すべてのスライドを表示し終わったとき、先頭スライドに戻り連続的に循環するかどうかを指定する場合は、data-wrap属性に"true"を指定します。循環させたくない場合は、data-wrap属性に"false"を指定します。
<div id="carousel-example" class="carousel slide" data-ride="carousel" data-interval="5000" data-wrap="false">