DARKMODE

POST

2026.08.10ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
2026.05.11解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
2026.05.06ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
2026.05.01デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
2026.04.23打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー
VIEW MORE

MENU

ALL POSTS
KNOWLEDGE
ABOUT
CONTACT

WORKS

COMMUNITY

SEARCH

  • イロイロデザインラボラトリ

  • PORTFOLIO
  • COMMUNITY
  • CONTACT

CSSだけで作る画像の横スクロール無限ループ

公開:2025年2月7日 更新:2025年4月8日
ARCHIVES/CREATE IT

コーポレートサイトなどでよく見る画像の無限ループはCSSだけで実装ができます。HTMLとCSSだけでコードの管理もしやすくなるので、もし実装することがあればぜひ使ってみましょう。

CONTENTS

  • サンプル
  • HTML
  • CSS
    • .scroll-image
    • ul
    • li
    • @keyframes
  • さいごに

サンプル

サンプルを見てみましょう。

See the Pen
無限ループスクロール
by イロイロデザインラボラトリ (@iroirodesignlab)
on CodePen.

3枚の画像が繰り返して無限に横スクロールします。

HTML

HTMLはこんな感じです。

<div class="scroll-image">
  <ul>
    <li class="image"><img src="https://placehold.jp/ffa502/ffffff/1280x720.png"></li>
    <li class="image"><img src="https://placehold.jp/1e90ff/ffffff/1280x720.png"></li>
    <li class="image"><img src="https://placehold.jp/747d8c/ffffff/1280x720.png"></li>
    <li class="image"><img src="https://placehold.jp/ffa502/ffffff/1280x720.png"></li>
    <li class="image"><img src="https://placehold.jp/1e90ff/ffffff/1280x720.png"></li>
    <li class="image"><img src="https://placehold.jp/747d8c/ffffff/1280x720.png"></li>
  </ul>
</div>

表示させたい画像は3枚なのですが、同じ要素をコピーして合計6枚にしておくことで、はみ出した要素が不自然にならないようにします。

下記のこの3枚分をもう1セット作っているということですね。5枚ならトータル10枚、7枚なら14枚になります。

<li class="image"><img src="https://placehold.jp/ffa502/ffffff/1280x720.png"></li>
<li class="image"><img src="https://placehold.jp/1e90ff/ffffff/1280x720.png"></li>
<li class="image"><img src="https://placehold.jp/747d8c/ffffff/1280x720.png"></li>

1画面に表示させる画像の枚数にもよるので、適宜変更してください。

CSS

CSSはSCSSを使っています。

.scroll-image {
  overflow: hidden;

  ul {
    list-style: none;
    display: flex;
    width: max-content;
    animation: scrollAnimation 8s linear infinite;

    @keyframes scrollAnimation {
      0% {
        transform: translateX(0%);
      }

      100% {
        transform: translateX(-50%);
      }
    }

    li {
      width: calc(100vw / 3);

      img {
        display: block;
        width: 100%;
      }
    }
  }
}

ネストだらけ!

.scroll-image

overflow:hidden;で、横並びにした画像がはみ出してもレイアウトが崩れないようにしておきましょう。

ul

<div class=”scroll-image”>の中にある<ul>は、display: flex;で横並びにしておきます。画像同士の隙間は必要に応じてgapとかmarginとかで調整してみてください。

li

<div class=”scroll-image”>の中にある<ul>の中にある<li>ですね。1画面に表示させる最大枚数を決めるので、width: calc(100vw / 3);となっています。例えば1画面に5枚表示させるのであればwidth: calc(100vw / 5);にして、HTMLの画像の枚数はトータルで10枚にする必要があります。

画像の枚数に応じて変更してください。

@keyframes

@keyframesは<ul>で指定したanimationの動きを指定するものですね。animationで8sとしているので、8秒かけてアニメーションします。

スクロールする方向は横なのでtranslateXにして、スクロール量は要素の半分の値にするためtransform: translateX(-50%);にしておきましょう。これで8秒かけて3枚分スクロールするようになります。

5枚でも10枚でもtransform: translateX(-50%);のまま変えちゃダメですよ。

サンプルでは左から右にスクロールしていますが、右から左にスクロールする場合はtranslateX(-50%);をtranslateX(50%);にすることで可能です。

さいごに

画像の無限ループはslickを使ってもできるのですが、やっぱりCSSだけで完結できると軽くなったりコード管理がシンプルになったりするメリットがたくさんあります。マウスをホバーさせるとスクロールを止める…なんてことはJavaScriptを使う必要がありますが、ただスクロールさせるためだけならCSSで充分ですね。

汎用性も高いと思いますので、ぜひ使ってみてください。

MOST POPULAR

TOP FAVORITES

TRENDING NOW

  • ウェブデザイナーがWordPressでブログを始めたほうが良い理由
  • 総額はいくら?フリーランスウェブデザイナーが仕事で使ったお金 2024年バージョン
  • できるだけ低予算で白色を基調にしたワークデスクを作ってみよう
  • ウェブデザイナーのポートフォリオの作り方
  • 現役講師が教えるウェブデザインスクールのメリットとデメリット
  • Googleアラートを使って欲しい情報を効率よく収集する

SHARE

SEARCH

AUTHOR

ウェブデザイナーときどきオンラインスクールで講師をしています。世間話や相談はDiscordからどうぞー。

my13ootleg
ABOUT US
PORTFOLIO
CONTACT

メンターやってます。

COMMUNITY

LATEST POSTS

  • no image ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
  • no image 解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
  • no image ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
  • no image デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
  • no image 打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー

MOST POPULAR

TOP FAVORITES

CATEGORIES

  • ARCHIVES (113)
  • COLUMN (3)
  • CREATE IT (16)
  • KNOWLEDGE (43)
    • DTP DESIGN (5)
    • MARKETING (2)
    • WEB DESIGN (31)
    • WORDPRESS (6)
  • NOTE (44)
    • REVIEW (16)
  • TECHNIC (10)
    • ILLUSTRATOR (2)
    • PHOTOSHOP (3)
    • VSCODE (5)
  • WORKS (37)
    • CLIENT (30)
    • PRIVATE (7)



HOME › ARCHIVES › CSSだけで作る画像の横スクロール無限ループ
© イロイロデザインラボラトリ :)