CSS3はリストの無限スクロール/カルーセル効果を実現します

CSS3はリストの無限スクロール/カルーセル効果を実現します

効果プレビュー

効果プレビュー

アイデア

現在のリストを最後の項目までスクロールし、すぐに最初の項目に戻ります。

問題

1. 無限カルーセルを実装するにはどうすればいいですか? 問題は、リストを最後までスクロールすると、下部に空白スペース (余分なスペース) ができてしまうことです。 どのように対処すればよいですか?
リストの先頭にある重複項目リストの末尾に追加するだけです (たとえば、図の 10 以降の 1、2、3、4、5 は重複項目です)。
追加される重複項目の数は、現在のリストの高さとリスト項目の高さによって決まります。例:
リストの高さが150pxで、リスト項目の高さ30px場合、空白を削除するには、現在のリストの末尾に150 / 30 = 5の重複項目を追加する必要があります。

2. ユーザーが気付かないうちに最初の項目に戻れるようにするにはどうすればよいでしょうか。重複した項目を追加した後、切り替えのタイミングを制御し、リストが最後の項目の末尾(重複した項目の最初の項目の先頭)までスクロールするとすぐに切り替えます。例えば:
リストに10項目がある場合、リスト10 * 30px = 300pxまで移動したときにすぐに切り替えて、気づかれない切り替えを実現します。

コード

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>無限スクロールリスト</title>
</head>
<スタイル>
    。容器 {
        位置: 相対的;
        背景色: #a4ffcc;
        /* 親コンテナには明確な高さが必要です */
        高さ: 150px;
        幅: 200ピクセル;
        マージン: 自動;
        オーバーフロー: 非表示;
    }

    .コンテナ > .スクロールリスト {
        位置: 絶対;
        上: 0;
        左: 0;
        幅: 100%;
        アニメーション: 6 秒のスクロール、線形、無限、通常;
    }

    .container > .scroll-list > div {
        幅: 100%;
        /* スクロール可能なアイテムには特定の高さが必要です */
        高さ: 30px;
        背景色: #1ea7ff;
        ディスプレイ: フレックス;
        コンテンツの中央揃え: 中央;
        アイテムの位置を中央揃えにします。
        色: 白;
    }

    .container > .scroll-list > div:nth-child(2n) {
        背景色: #18d9f8;
    }

    @keyframes スクロール {
        100% {
            /*スクロールするコンテンツの合計高さ*/
            上: -300px;
        }
    }
</スタイル>
<本文>
    <div class="コンテナ">
        <div class="スクロールリスト">
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
            <div>6</div>
            <div>7</div>
            <div>8</div>
            <div>9</div>
            <div>10</div>
            <!-- 次のコードは、スクロール コンテンツをもう 1 画面表示できるようにします (空白スペース/無限カルーセルを削除)。高さに応じて数値を計算してください -->
            <div>1</div>
            <div>2</div>
            <div>3</div>
            <div>4</div>
            <div>5</div>
        </div>
    </div>
</本文>
</html>

CSS3 でリストの無限スクロール/カルーセルを実装する方法についての記事はこれで終わりです。CSS3 リスト スクロールとカルーセルに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  CSS スタイルを HTML 外部スタイルシートにインポートする方法

>>:  HTMLファイルで外部CSSファイルを導入する場合のパスの書き方について簡単にまとめます

推薦する

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

Vueはカスタムツリーコンポーネントを再帰的に実装します

この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有し...

Vue3 (パート 2) Ant Design Vue の統合

目次1. Ant Design Vueを統合する2. コンポーネントの使用1. 完全な引用2. コン...

Oracle を MySQL に置き換える際の問題と解決策

目次移行ツールアプリケーション変換mysql8.0 ドライバ パッケージを追加データソース構成の変更...

Nginx Rewrite の使用シナリオと設定方法の分析

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

MySQLクラスタのDockerデプロイメントの実装

シングルノードデータベースの欠点大規模なインターネットプログラムはユーザーベースが大きいため、アーキ...

TypeScript マッピング型の詳細

目次1. マップされた型2. マッピング修飾子3. キーの再マッピング4. さらなる探究序文: Ty...

h1、h2、h3タグを適切に使用する

Web ページを作成する過程では、<h1>、<h2>、<h3> ...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

webpackでHMRを手動で実装するいくつかの方法

目次1. はじめに2. GitHub 3. 基本構成プロジェクトディレクトリパッケージ.json c...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

リモートログインとポート公開を防ぐためのLinuxサーバー構成IPホワイトリスト

序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...

vue+springbootでログイン機能を実現

この記事の例では、ログイン機能を実現するためのvue+springbootの具体的なコードを参考まで...

Dockerコンテナの入退出方法の詳細な説明

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

js タグ構文の使用法の詳細

目次1. ラベルステートメントの紹介2. ラベルステートメントの使用序文:日常の開発では、プログラム...