フレックスレイアウトによるシームレスなスクロールのサンプルコード

フレックスレイアウトによるシームレスなスクロールのサンプルコード

この記事では、シームレスなスクロールを実現するためのフレックスレイアウトのサンプルコードを主に紹介します。サンプルコードは次のように共有されます。

ケースデモンストレーション

フレックスレイアウト

フレックス レイアウトと呼ばれるレイアウトは、伸縮性のあるボックス レイアウトです。このレイアウトはモバイル デバイスでよく使用されますが、ブラウザーのバージョンが更新されるにつれて、フレックス レイアウトは独自の利点によりますます一般的に使用されるようになっています。

アイデア:

  • まず、この小さなデモの構造、上部構造と下部構造を分析してみましょう。コンテナを使用してこれをラップすることができます(いわゆるビッグボックス)。
  • 上部にナビゲーションがあり、その上に ul があり、その下には幅 100% で高さをカスタマイズした 2 つの div を使用できます。
  • 次に、特定の親ボックスを覚えて、モデルを開いてみます。 display:flex; の場合、上下にどのように分割すればよいでしょうか?続けてflex-wrap: wrap;と追加していくと、上と下が分離されます。便利じゃないですか?
  • 次は下の部分です。ulはdivの中にネストされていて、ulの高さは分かりやすいのですが、divの高さなのでulの幅はどれくらいでしょうか? 、無限に広くすることができます! ! ! ulの幅を3000pxに設定します
  • 次に、liを入れます。liにも上下の構造があることがわかりますので、笑! li でも flex を有効にする必要がありますか? flex-wrap: wrap;上の div は img 用で、その下に a タグがあります。
  • 覚えておいてください、私は浮くべきです!そして、そこにoverflow:hiddenを置くことを検討してください

アニメーション効果

  • 5 つの画像があり、これを右から左に移動させます。では、ul に移動するように要求すると、li も移動するように促すことができますか?
  • @keyframes を使用して ul の左側の値を変更しますが、ここで問題が発生します。5 枚の画像を配置して ul を移動すると、右側が消えて空白になります。何をするか? ? ?
  • 5里をコピーして後ろに貼ってもいいですか? 答えはイエスです! !左側が li の最初のグループを削除すると、2 番目のグループは表示されなくなります。次に、アニメーションを使用します。20 秒間の線形無限実行、つまり無限ループです。

CSSパーツコード

* {
    マージン: 0;
    パディング: 0;
}

{
    テキスト装飾: なし;
}

.box-big {
    位置: 絶対;
    ディスプレイ: フレックス;
    左: 50%;
    上位: 50%;
    境界線: 1px 実線 #9FD6FF;
    変換: translate(-50%, -50%);
    幅: 707ピクセル;
    高さ: 170ピクセル;
    /* 背景色: ピンク; */
    flex-wrap: ラップ;
    オーバーフロー: 非表示;
}

.ボックストップ{
    幅: 707ピクセル;
    高さ: 30px;
    下境界線: 1px 実線 #9FD6FF;
    背景色: #FEFEFE;
}

.div-ボトム{
    幅: 707ピクセル;
    高さ: 136px;
    /* 背景色: darkgoldenrod; */
    オーバーフロー: 非表示;
}

.st-アイコン-android {
    表示: インラインブロック;
    幅: 15px;
    高さ: 15px;
    背景画像: url(../img/hd.gif);
    マージン: 8px;
}

h5 {
    位置: 絶対;
    上: 6PX;
    左: 30px;
    色: #307DD1;
}

ul {
    位置: 絶対;
    左: 90px;
    幅: 3000ピクセル;
    高さ: 100%;
    アニメーション: 20 秒間の線形無限実行。
}

li {
    リストスタイル: なし;
    フロート: 左;
    幅: 140ピクセル;
    高さ: 100%;
    マージン: 0 5px 0 5px;
    /* 背景色: ゴールド; */
    flex-wrap: ラップ;
}

。写真 {
    上マージン: 5px;
    幅: 140ピクセル;
    高さ: 105px;
    テキスト配置: 中央;
    /* 背景色: スプリンググリーン; */
}

p {
    テキスト配置: 中央;
}

画像 {
    カーソル: ポインタ;
}

@keyframes 実行 {
    0% {
        左: 0;
    }
    100% {
        左: -745px;
    }
}

フレックスレイアウトでシームレススクロールを実装するサンプルコードに関するこの記事はこれで終了です。フレックスシームレススクロールの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  docker-maven-pluginはイメージをパッケージ化し、プライベートウェアハウスにアップロードします。

>>:  JS ES の新機能、変数分離割り当て

推薦する

MySQL マルチテーブルクエリの具体例

1. SELECT句を使用して複数のテーブルをクエリするSELECT フィールド名 FROM tab...

formData 形式タイプを使用してファイルをアップロードする Vue の例

Vue では、一般的にフロントエンドとバックエンドを分離したプロジェクトがあり、データ操作を実装する...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

JavaScript におけるイベント委譲メカニズムと深いコピーと浅いコピーの簡単な分析

目次1. イベントの委任イベントバブリングイベントキャプチャイベントの泡立ちの昇華考える2. 深いコ...

一般的なイベントを処理するための JavaScript の使用に関する詳細な説明

目次1. フォームイベント2. マウスイベント3. キーボードイベント4. 共通イベントメソッド(ウ...

iframeを透明にするパラメータ

<iframe src="./ads_top_tian.html" all...

Debian Dockerコンテナにcrontabスケジュールタスクを追加する

現在、DockerイメージのほとんどはDebianベースです # cat /etc/issue De...

MySQL 5.7 で業務を停止せずに従来のレプリケーションを GTID レプリケーションに変更する例

GTID の利点により、従来のファイル POS ベースのレプリケーションを GTID ベースのレプリ...

JavaScript 配列のマージのケーススタディ

方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...

MySQLのユーザー管理とPostgreSQLのユーザー管理の違い

1. MySQL ユーザー管理[例1.1] ローカルMySQLサーバーのテストデータベースにroot...

MySQL sql_modeクエリと設定の詳細な説明

1. SQLを実行して表示する @@session.sql_mode を選択します。 グローバルレベ...

MySQL インデックス プッシュダウンを 5 分で学ぶ

目次序文インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックス...

CentOS 6.6 ソースコードのコンパイルと MySQL 5.7.18 のインストールチュートリアルの詳細な説明

1. ユーザーとグループを追加する1. mysqlユーザーグループを追加する # グループ追加mys...