国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
末尾填充頭部第一組數(shù)據(jù)
橫向無限輪播
輪播圖?不在話下
ホームページ ウェブフロントエンド CSSチュートリアル テキストカルーセルと畫像カルーセルも純粋な CSS を使用して実現(xiàn)できることがわかりました。

テキストカルーセルと畫像カルーセルも純粋な CSS を使用して実現(xiàn)できることがわかりました。

Jun 10, 2022 pm 01:00 PM
css javascript css3 アニメーション フロントエンド

テキストカルーセルと畫像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや畫像カルーセルも純粋なCSSでも実現(xiàn)できますので実裝方法を見ていきましょう。

テキストカルーセルと畫像カルーセルも純粋な CSS を使用して実現(xiàn)できることがわかりました。

#今日は、実際のビジネスで使えるアニメーションテクニックを紹介したいと思います。 [推奨學(xué)習(xí):

css ビデオ チュートリアル ]

フレームごとのアニメーションとトゥイーン アニメーションを巧みに使用して、無限ループのカルーセル効果を?qū)g現(xiàn)します:

上の図を見て、これは非常に単純な移??動アニメーションではないのかと尋ねずにはいられない學(xué)生もいます。

簡単な分析をしてみましょう。表面的には、要素の

transform:transform:transform() だけが変位しているように見えますが、しかし注意してくださいここには 2 つの問題があります:

  • これは無限カルーセル効果です。私たちのアニメーションは、任意の數(shù)の要素の無限カルーセル切り替えをサポートする必要があります。

  • これはカルーセル Play なので、最後まで実行する場合は、アニメーションを最初の要素までカットする必要があります

この時點で、一時停止して考えることができます。要素が 20 個ある場合、同様のことを行う必要があります。CSS を使用して実裝された無限カルーセル ブロードキャスト、どのように実行しますか?

フレームごとのアニメーション制御全體の切り替え

まず最初に、

ステップ イージング機(jī)能とも呼ばれるフレームごとのアニメーション効果を使用する必要があります、 を使用します。最初に私の記事を読むことを強(qiáng)くお勧めします。 記事 - CSS アニメーションの詳細(xì)な説明。この記事を理解する上で重要な役割を果たします。 それでは、記事の冒頭の例を使用しましょう。このような HTML 構(gòu)造があるとします:

{
????/*?Keyword?values?*/
????animation-timing-function:?step-start;
????animation-timing-function:?step-end;
????/*?Function?values?*/
????animation-timing-function:?steps(6,?start)
????animation-timing-function:?steps(4,?end);
}

まず、このような単純なレイアウトを?qū)g裝します:

ここでは、カルーセル効果と任意の數(shù)を?qū)g現(xiàn)するために、

animation-timing-function:steps():

<div class="g-container">
  <ul>
    <li>Lorem ipsum 1111111</li>
    <li>Lorem ipsum 2222222</li>
    <li>Lorem ipsum 3333333</li>
    <li>Lorem ipsum 4444444</li>
    <li>Lorem ipsum 5555555</li>
    <li>Lorem ipsum 6666666</li>
  </ul>
</div>
# # を使用できます。 #上記のいくつかの CSS 変數(shù)を見てパニックにならないでください。実際には理解するのは簡単です:

calc(var(--speed) * var(--s) )

: 1 つのアニメーションの消費時間* カルーセルの數(shù)、つまりアニメーションの合計時間

  • steps(var(--s)) コマ送りアニメーションのフレーム數(shù)です。ここでは steps(6)

    としています。これがわかりやすいです。
  • calc(var(--s) * var (--h) * -1px)) 単一の li コンテナの高さ * カルーセルの數(shù) (実際には ul 全體の高さであり、終了を設(shè)定するために使用されます)フレームごとのアニメーションの値

  • 上記の効果は実際には次のようになります:

If

overflow: hidden

をコンテナに追加すると、次のような効果が得られます。

このようにして、全體の構(gòu)造を取得します。少なくとも、全體の効果は周期的です。

ただし、これはフレーム単位のアニメーションなので、切り替えが見えるだけで、各フレーム間のトランジション アニメーション効果はありません。そこで、次にトゥイーン アニメーションを?qū)毪工氡匾ⅳ辘蓼埂?トゥイーン アニメーションを使用して 2 つのデータ セット間の切り替えを?qū)g現(xiàn)する

トゥイーン アニメーションを使用して、動的な切り替え効果を?qū)g現(xiàn)する必要があります。

このステップは実際には非常に簡単で、

transform

を使用して一連のデータを狀態(tài) A から狀態(tài) B に移動する必要があります。

デモ用に 1 つだけ取り出した場合、おおよそのコードは次のとおりです:

:root {
  // 輪播的個數(shù)
  --s: 6;
  // 單個 li 容器的高度
  --h: 36;
  // 單次動畫的時長
  --speed: 1.5s;
}
.g-container {
  width: 300px;
  height: calc(var(--h) * 1px);
}
ul {
  display: flex;
  flex-direction: column;
  animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
}
ul li {
  width: 100%;
}
@keyframes move {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, calc(var(--s) * var(--h) * -1px));
  }
}
<div class="g-container">
  <ul style="--s: 6">
    <li>Lorem ipsum 1111111</li>
    <li>Lorem ipsum 2222222</li>
    <li>Lorem ipsum 3333333</li>
    <li>Lorem ipsum 4444444</li>
    <li>Lorem ipsum 5555555</li>
    <li>Lorem ipsum 6666666</li>
  </ul>
</div>

非常に単純なアニメーション:

上記の効果をもとに、冒頭で述べた

コマ送りアニメーション

トゥイーンアニメーション テキストカルーセルと畫像カルーセルも純粋な CSS を使用して実現(xiàn)できることがわかりました。 を組み合わせると、ul の全體の動きが重なり合います。 li の単一の動きを一緒に:

:root {
  --h: 36;
  --speed: 1.2s;
}
ul li {
  height: 36px;
  animation: liMove calc(var(--speed)) infinite;
}
@keyframes liMove {
  0% {
    transform: translate(0, 0);
  }
  80%,
  100%  {
    transform: translate(0, -36px);
  }
}

はこのような効果を得ることができます:

##すごい、魔法のような化學(xué)反応が起こりました。

フレームごとのアニメーション

トゥイーン アニメーションの組み合わせに基づいて、カルーセル効果をほぼ達(dá)成しました。

當(dāng)然,有一點瑕疵,可以看到,最后一組數(shù)據(jù),是從第六組數(shù)據(jù) transform 移動向了一組空數(shù)據(jù):

末尾填充頭部第一組數(shù)據(jù)

實際開發(fā)過輪播的同學(xué)肯定知道,這里,其實也很好處理,我們只需要在末尾,補(bǔ)一組頭部的第一個數(shù)據(jù)即可:

改造下我們的 HTML:

<div class="g-container">
  <ul>
    <li>Lorem ipsum 1111111</li>
    <li>Lorem ipsum 2222222</li>
    <li>Lorem ipsum 3333333</li>
    <li>Lorem ipsum 4444444</li>
    <li>Lorem ipsum 5555555</li>
    <li>Lorem ipsum 6666666</li>
    <!--末尾補(bǔ)一個首條數(shù)據(jù)-->
    <li>Lorem ipsum 1111111</li>
  </ul>
</div>

這樣,我們再看看效果:

Beautiful!如果你還有所疑惑,我們給容器加上 overflow: hidden,實際效果如下,通過額外添加的最后一組數(shù)據(jù),我們的整個動畫剛好完美的銜接上,一個完美的輪播效果:

完整的代碼,你可以戳這里:CodePen Demo -- Vertical Infinity Loop

https://codepen.io/Chokcoco/pen/RwQVByx

橫向無限輪播

當(dāng)然,實現(xiàn)了豎直方向的輪播,橫向的效果也是一樣的。

并且,我們可以通過在 HTML 結(jié)構(gòu)中,通過 style 內(nèi)填寫 CSS 變量值,傳入實際的 li 個數(shù),以達(dá)到根據(jù)不同 li 個數(shù)適配不同動畫:

<div class="g-container">
  <ul style="--s: 6">
    <li>Lorem ipsum 1111111</li>
    <li>Lorem ipsum 2222222</li>
    <li>Lorem ipsum 3333333</li>
    <li>Lorem ipsum 4444444</li>
    <li>Lorem ipsum 5555555</li>
    <li>Lorem ipsum 6666666</li>
    <!--末尾補(bǔ)一個首尾數(shù)據(jù)-->
    <li>Lorem ipsum 1111111</li>
  </ul>
</div>

整個動畫的 CSS 代碼基本是一致的,我們只需要改變兩個動畫的 transform 值,從豎直位移,改成水平位移即可:

:root {
  --w: 300;
  --speed: 1.5s;
}
.g-container {
  width: calc(--w * 1px);
  overflow: hidden;
}
ul {
  display: flex;
  flex-wrap: nowrap;
   animation: move calc(var(--speed) * var(--s)) steps(var(--s)) infinite;
}
ul li {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  animation: liMove calc(var(--speed)) infinite;
}
@keyframes move {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(calc(var(--s) * var(--w) * -1px), 0);
  }
}
@keyframes liMove {
  0% {
    transform: translate(0, 0);
  }
  80%,
  100%  {
    transform: translate(calc(var(--w) * -1px), 0);
  }
}

這樣,我們就輕松的轉(zhuǎn)化為了橫向的效果:

完整的代碼,你可以戳這里:CodePen Demo -- Horizontal Infinity Loop

https://codepen.io/Chokcoco/pen/JjpNBXY

輪播圖?不在話下

OK,上面的只是文字版的輪播,那如果是圖片呢?

沒問題,方法都是一樣的?;谏鲜龅拇a,我們可以輕松地將它修改一下后得到圖片版的輪播效果。

代碼都是一樣的,就不再列出來,直接看看效果:

完整的代碼,你可以戳這里:CodePen Demo -- Horizontal Image Infinity Loop

https://codepen.io/Chokcoco/pen/GRQvqgq

掌握了這個技巧之后,你可以將它運用在非常多只需要簡化版的輪播效果之上。

再簡單總結(jié)一下,非常有意思的技巧:

  • 利用 逐幀動畫,實現(xiàn)整體的輪播的循環(huán)效果

  • 利用 補(bǔ)間動畫,實現(xiàn)具體的 狀態(tài)A狀態(tài)B* 的動畫效果

  • 逐幀動畫 配合 補(bǔ)間動畫 構(gòu)成整體輪播的效果

  • 通過向 HTML 結(jié)構(gòu)末尾補(bǔ)充一組頭部數(shù)據(jù),實現(xiàn)整體動畫的銜接

  • 通過 HTML 元素的 style 標(biāo)簽,利用 CSS 變量,填入實際的參與循環(huán)的 DOM 個數(shù),可以實現(xiàn) JavaScript 與 CSS 的打通

(學(xué)習(xí)視頻分享:web前端

以上がテキストカルーセルと畫像カルーセルも純粋な CSS を使用して実現(xiàn)できることがわかりました。の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

「レンダリングブロッキングCSS」とは何ですか? 「レンダリングブロッキングCSS」とは何ですか? Jun 24, 2025 am 12:42 AM

ブラウザは、特にインポートされたスタイルシート、ヘッダーのインラインCSS、および最適化されていないメディアクエリスタイルを使用して、ブラウザがインラインおよび外部CSSをデフォルトで主要なリソースとして表示するため、ページレンダリングをブロックします。 1.重要なCSSを抽出し、HTMLに埋め込みます。 2。JavaScriptを介して非クリティカルなCSSの読み込みを遅らせる。 3.メディア屬性を使用して、印刷スタイルなどのロードを最適化します。 4.リクエストを減らすためにCSSを圧縮およびマージします。ツールを使用してキーCSSを抽出し、REL = "Preload"非同期負(fù)荷を組み合わせ、過度の分割と複雑なスクリプト制御を避けるためにメディア遅延荷重を合理的に使用することをお勧めします。

Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Autoprefixerとは何ですか?それはどのように機(jī)能しますか? Jul 02, 2025 am 01:15 AM

Autoprefixerは、ターゲットブラウザスコープに基づいてCSS屬性にベンダープレフィックスを自動的に追加するツールです。 1.エラーで接頭辭を手動で維持する問題を解決します。 2. PostCSSプラグインフォーム、CSSを解析し、プレフィックスする必要がある屬性を分析し、構(gòu)成に従ってコードを生成する屬性を分析します。 3.使用手順には、プラグインのインストール、ブラウザーリストの設(shè)定、ビルドプロセスでそれらを有効にすることが含まれます。 4。メモには、接頭辭を手動で追加しない、構(gòu)成の更新を保持すること、すべての屬性ではなくプレフィックスを維持することが含まれ、プリ??プロセッサでそれらを使用することをお勧めします。

CSSでSVGをアニメーション化するにはどうすればよいですか? CSSでSVGをアニメーション化するにはどうすればよいですか? Jun 30, 2025 am 02:06 AM

Animatingsvgwithcssissispossibleusing forbasicanimationsand transitions for-interactiveeffects.1.use@keyframestodefineanimationstages forpropertieslikescale、ofacity、andcolor.2

conic-gradient()関數(shù)とは何ですか? conic-gradient()関數(shù)とは何ですか? Jul 01, 2025 am 01:16 AM

TheConic-Gradient()functionsscreateScular勾配の勾配は、測定されていることを確認(rèn)してください

CSSカスタムプロパティの範(fàn)囲は何ですか? CSSカスタムプロパティの範(fàn)囲は何ですか? Jun 25, 2025 am 12:16 AM

CSSカスタムプロパティの範(fàn)囲は宣言のコンテキストに依存します。通常、グローバル変數(shù)は次のように定義されます。一方、ローカル変數(shù)は、スタイルのコンポーネント化と分離のために特定のセレクター內(nèi)で定義されます。たとえば、.cardクラスで定義されている変數(shù)は、クラスとその子供に一致する要素でのみ使用できます。ベストプラクティスには以下が含まれます。1。使用:ルートトピック色などのグローバル変數(shù)を定義する。 2。コンポーネント內(nèi)のローカル変數(shù)を定義して、カプセル化を?qū)g裝します。 3.同じ変數(shù)を繰り返し宣言しないでください。 4.セレクターの特異性によって引き起こされる可能性のあるカバレッジの問題に注意してください。さらに、CSS変數(shù)はケースに敏感であり、エラーを回避するために使用する前に定義する必要があります。変數(shù)が未定義の場合、または參照が失敗した場合、フォールバック値またはデフォルト値の初期が使用されます。デバッグは、ブラウザ開発者を介して実行できます

モバイルファーストデザインに焦點を當(dāng)てたCSSチュートリアル モバイルファーストデザインに焦點を當(dāng)てたCSSチュートリアル Jul 02, 2025 am 12:52 AM

Mobile-firstcsssdesignRequiresTtingtheviewportatatag、使用、stylumsmallscreensup、optimingTouchTargets.first.second、cecond、em、orreminsteadofpixelseders.ths.thsthird、writebasethirdird、addtocontrolscaling.second、addtocontrolscaling.second

Vueに移行とアニメーションを?qū)g裝する方法は? Vueに移行とアニメーションを?qū)g裝する方法は? Jun 24, 2025 pm 02:17 PM

toaddtransitionSandanimationsInvue、usebuilt-incomponentslikeand、applycssclasses、leveragetransitionhooksforcontrol.1.wrapelementswithandapplycsstransitionclassesslikeslikev-enter-fforbasediseforideferidenidenidenideddeddeddedivedivedivedivedive dedivedivedivedivedistransition

ターゲットの擬似クラスとそれをどのように使用できますか? ターゲットの擬似クラスとそれをどのように使用できますか? Jun 22, 2025 am 12:48 AM

CSS:ターゲット擬似クラスは、URLフラグメント識別子に基づいてターゲット要素をスタイリングするために使用されます。 URLに#シンボルと要素IDが含まれ、特定のスタイルをターゲット経由で要素に適用できるようにすると、ブラウザが要素にスクロールすることで機(jī)能します。一般的なユースケースには、ナビゲーション後のページセクションの強(qiáng)調(diào)表示、JavaScriptなしのタブまたはスライドショーの作成、長いページへのアクセシビリティの改善が含まれます。使用のヒントには、IDが一意であることを確認(rèn)し、トランジションまたはアニメーション効果の組み合わせ、コンテンツの可視性を表示屬性との切り替え、古いブラウザーとの互換性を考慮することが含まれます。

See all articles