テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキストカルーセル付きの看板がよく見られます。この記事では、その実装ロジックを詳しく紹介します。 シナリオ店舗のドアの看板には、水平に動くテキストでアナウンスを表示する必要があります (わかりやすいように境界線が追加されます)。 論理的な説明無限のテキスト回転を実現するための主なロジックは 2 つあります。
最初の実装方法は、CSS アニメーション transform: translateX(-50%) を使用することです。これは、それ自体の半分を左に移動することを意味します。 ポイント2の実装方法はポイント1と関連しています。デフォルトでは、CSS アニメーションは再生が完了した後に変化します。つまり、再生が完了すると位置が初期位置に変化します (変化は瞬時に完了し、肉眼では認識できません)。そのため、変化を使用してテキストの先頭と末尾を接続できます。 同一のテキストを 2 つ使用します。最初のテキストの再生が終了し、2 番目のテキストの再生が開始されると、アニメーションが突然変化し、最初のテキストの再生が再開されます。2 つのテキストの内容は同じであるため、ユーザーはそれに気づきません。 考えるこの実装は現在一般的ですか? この方法は実際にほとんどのニーズを解決しましたが、テキストが少ない場合やテキストの幅がウィンドウの幅よりも小さい場合は問題が発生します。私が描いた回転ロジック図は、その一例にすぎません。 テキストの幅がウィンドウの幅よりも小さい場合、これを実現するにはどうすればよいですか? 実際、原理は同じです。テキスト回転の中心的な機能の 1 つは、2 つの同一のテキストを持つことです。ただし、前提条件として、テキストの幅がウィンドウの幅よりも大きくなければなりません。 この前提条件をどのように達成するのでしょうか? 答えは、テキストの幅がウィンドウの幅よりも大きくなるまでテキスト全体をコピーし、それを 2 つの同一のテキストに処理することです。 要約する無限テキスト回転のポイントは次のとおりです。
コード: <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8" /> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0" /> <title>テキスト無限カルーセル</title> <スタイル> 体 { ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 高さ:100vh; } #包む { オーバーフロー: 非表示; 位置: 相対的; 幅: 200ピクセル; 高さ: 20px; 空白: ラップなし; } #内部 { 位置: 絶対; アニメーション: スライド 5 秒 線形無限; } #初め{ 表示: インラインブロック; 境界線: 1px 実線の赤; } #2番{ 表示: インラインブロック; 境界線: 1px 緑; } @keyframes スライド { 0% { 変換: translateX(0); } 100% { 変換: translateX(-50%); } } </スタイル> </head> <本文> <div id="wrap"> <div id="内部"> <span id="first">当店では主にラーメン、麺類、煮込み麺、丼ものを販売しております</span> <span id="second">当店では主にラーメン、麺類、煮込み麺、丼ものを販売しております</span> </div> </div> </本文> </html> これで、ネイティブ CSS で無限テキスト カルーセルを実装する一般的な方法についての記事は終了です。CSS で無限テキスト カルーセルを実装する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: Ubuntu は、Mysql+Keepalived の高可用性実装 (デュアルアクティブ ホットスタンバイ) を構築します。
>>: Webフロントエンド開発におけるエラーを見つけるための基本的な考え方
この記事は参考までにmysql 8.0.19 winx64.zipのインストールチュートリアルを記録...
最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...
JavaScript を使用して Web ページ クロックを実装します。効果は次の図に示されています...
著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...
これは実際には IE の公式ドキュメントではありません。他の人が実践を通じて開発した IE6 のデフ...
目次1. MySQLトリガーの作成: 1. MySQLトリガー作成構文: 2. MySQL作成構文の...
この記事の目的は、これらの概念とその機能の関係を明らかにすることです。 Mysql がトランザクショ...
さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...
この記事では、年、月、日の3段階のリンクを実現するためのJavaScriptの具体的なコードを参考ま...
背景: parseInt(0.006) または parseInt(0.0006) は 0 という値を...
1. MySQL 5.7を解凍する2. 新しい設定ファイルmy.iniを作成し、 D:\Free\m...
テキスト非表示コード、HTML 内の特定のテキストを非表示にするコードをコピーコードは次のとおりです...
HTML Web ページ リスト タグの学習チュートリアル。 HTML ページでは、リストはアウトラ...
目次リアルタイム更新は必要ですか?マテリアライズド ビュー ツール (Flexviews)カウントテ...
目次概要1. jsの位置づけを明確に理解する2. 明確な学習パス3. 自己規律と粘り強さ4. 練習し...