


CSS3 と IntersectionObserver API を使用して、ビューポート内にある要素のみをアニメーション化するにはどうすればよいですか?
ビューポートで要素をアニメーション化する
CSS3 では、HTML 要素にアニメーションを追加して、特定の条件が満たされたときに要素を移動したり、外観を変更したりできます。 。ただし、要素がビューポートに表示されている場合にのみこれらのアニメーションを再生したい場合は、IntersectionObserver API を使用できます。
IntersectionObserver API の使用
IntersectionObserver API要素とビューポートまたは祖先要素の交差を観察できます。要素が表示される (つまり、ビューポートと交差する) と、クラスの切り替えやアニメーションの実行などのアクションをトリガーできます。
IntersectionObserver を使用した実装例を次に示します。
const inViewport = (entries, observer) => { entries.forEach(entry => { entry.target.classList.toggle("is-inViewport", entry.isIntersecting); }); }; const Obs = new IntersectionObserver(inViewport); const obsOptions = {}; //See: https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#Intersection_observer_options // Attach observer to every [data-inviewport] element: document.querySelectorAll('[data-inviewport]').forEach(el => { Obs.observe(el, obsOptions); });
inViewport 関数では、要素がビューポートと交差しているかどうか (entry.isIntersecting) を確認し、ターゲット要素のクラス is-inViewport を切り替えます。
アニメーションのスタイルを設定するには、CSS トランジションを使用できます。または通常どおりキーフレーム。たとえば、次のように data-inviewport="scale-in" を使用して要素のアニメーションを定義できます。
[data-inviewport="scale-in"] { transition: 2s; transform: scale(0.1); } [data-inviewport="scale-in"].is-inViewport { transform: scale(1); }
この設定では、要素は次のように 10% から 100% にスケールされます。ビューポートに表示されます。
以上がCSS3 と IntersectionObserver API を使用して、ビューポート内にある要素のみをアニメーション化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

開発者としての段階に関係なく、私たちが完了したタスクは、大小を問わず、個人的および専門的な成長に大きな影響を与えます。

それは' Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。
