見出し画像

【CSS】フリック操作に対応したカルーセルの作成方法

scroll-snap-typeプロパティを使用した、フリック操作に対応したカルーセルの作成方法です。scroll-snap-typeを使用すればcssのみで実現可能です!

HTML

<div class="container">
	<ul>
		<li>ITEM01</li>
		<li>ITEM02</li>
		<li>ITEM03</li>
		<li>ITEM04</li>
		<li>ITEM05</li>
	</ul>
</div>

CSS

.container ul {
	display: grid;
 	grid-template-columns: repeat(5, 100%);
	scroll-snap-type: x mandatory;
	overflow-x: auto;
}

.container ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 450px;
	list-style: none;
	scroll-snap-align: start;
}

.container ul li:nth-of-type(1){
	background: #fbdd74;
}

.container ul li:nth-of-type(2){
	background: #ff6e6c;
}

.container ul li:nth-of-type(3){
	background: #67568c;
}

.container ul li:nth-of-type(4){
	background: #078080;
}

.container ul li:nth-of-type(5){
	background: #232323;
}

▼CodePen
こちらにコードを書きました。
https://codepen.io/naoko_toya/pen/XWEbbYK

参考サイト

こちらの記事を参考にさせていただきました。
▼grid-template-columns - CSS: カスケーディングスタイルシート | MDN
https://developer.mozilla.org/ja/docs/Web/CSS/grid-template-columns

▼scroll-snap-type - CSS: カスケーディングスタイルシート | MDN
https://developer.mozilla.org/ja/docs/Web/CSS/scroll-snap-type

この記事が気に入ったらサポートをしてみませんか?