
モバイルサイトでよく見かける、横にスライドするカルーセル・スライダー。
最近では単にスライドするだけでなく、フリックしたときに慣性スクロールで動くものが流行っています。
今日はこの『慣性スクロール付きカルーセル』を JavaScript 無しで実装する方法を紹介します。
HTML
ここでは仮に、下記のようなHTMLを用意します。
<ul class="carousel"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
CSS
キモとなるスタイルシートの記述です。
.carousel {
width:100%;
padding:12px 0;
overflow-x:scroll;
-webkit-overflow-scrolling:touch;
overflow-scrolling:touch;
white-space:nowrap;
}
.carousel li {
background: #fff;
margin: 2px;
text-align: center;
display: inline-block;
}
重要なのは-webkit-overflow-scrolling:touch;の箇所。
これで慣性スクロールが実現します。
DEMO
簡単なサンプルを用意しましたので実際の挙動をご確認ください。
CSS3 CAROUSEL : https://on-ze.com/demo/css3-carousel/
モバイル端末での閲覧を推奨。
左右のフリック操作で要素がスライドします。
ぜひお試しください。