ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS Houdiniで3Dカードフリップアニメーションを構築します

CSS Houdiniで3Dカードフリップアニメーションを構築します

Joseph Gordon-Levitt
リリース: 2025-02-08 13:46:15
オリジナル
408 人が閲覧しました

この記事では、3Dカードフリップアニメーションを作成することにより、Houdiniの機能を示しています。 コアの概念と実用的な実装を案内し、ワークフローを強化し、高度なCSSアニメーションを実現する方法を示しています。

従来のCSSアニメーションの制限は、レンダリングエンジンを前例のない制御を提供する一連の実験的なブラウザAPIのセットであるHoudiniによって克服されます。これにより、以前は不可能なユニークな視覚体験が可能になり、Webデザインの境界を押します。

重要な概念:

HoudiniのコアAPI(ワークレット、カスタムプロパティ、ペイントAPI)

    インタラクティブな3Dアニメーションの作成
  • カードフリップの例を拡張する
  • houdiniのトライアド:

Houdiniは、ブラウザのレンダリングエンジンを拡張し、カスタムアニメーション、エフェクト、スタイルを可能にします。 3つの主要なAPIを詳細に調べます。 (注:関連する実験を検索してアクティブ化することにより、Chrome:// flags/でHoudiniを有効にします。

ワークレット:

Building a 3D Card Flip Animation with CSS Houdini ブラウザのレンダリングエンジン内で実行されているJavaScriptモジュールは、カスタムペイント、レイアウト、アニメーションの動作を可能にします。 ワークレットでは、

を許可します

ダイナミックアニメーション(ユーザーの相互作用に基づいてストローク幅をアニメーション化する)

インタラクティブな効果(粒子システム、リップル効果など)

拡張されたビジュアルスタイル(例:カスタムグラデーション、パターン)
  • javaScript統合
  • ワークレットの例:星空の夜空:
  • 星空の夜の効果は、ワークレットの使用を示しています。 HTMLには、エフェクト用のa
が含まれています:

cssはワークレットを適用します:

<div>javascript(app.js)は、星空の効果を作成します: <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;div id=&quot;night-sky&quot;&gt;&lt;/div&gt; &lt;🎜&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div> <p> </p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>#night-sky { width: 100vw; height: 100vh; background-image: paint(starrySky); }</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div> <p></p>カスタムプロパティ:<div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>class Star { paint(ctx, geom, properties) { /* ... star drawing logic ... */ } } registerPaint('starrySky', Star);</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p> <img src="https://img.php.cn/upload/article/000/000/000/173899357963721.jpg" alt="Building a 3D Card Flip Animation with CSS Houdini " />動的スタイリングのタイプチェック、構文定義、およびカスタムロジックを提供する高度なCSS変数。 </p><p>カスタムプロパティの例:円形の進行状況バー:<strong></strong> </p>円形の進行状況バーは、カスタムプロパティと塗装ワークレットを示しています。 HTML:<p> </p> <p>cssは、進行状況バーと<strong>カスタムプロパティを定義します。 </strong> </p>javascript(paint-worklet.js)絵画を処理します:<p> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;div class=&quot;progress&quot; data-progress=&quot;0&quot;&gt;&lt;/div&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div>別のJavaScriptファイルがワークレットを登録し、進捗状況を更新します:<p> <code>--progress

@property --progress { syntax: '<percentage>'; inherits: false; initial-value: 0%; }
.progress { background: conic-gradient(...var(--progress)...); }
ログイン後にコピー

class PaintWorklet { paint(ctx, { width, height, progress }) { /* ... drawing logic ... */ } }
ログイン後にコピー
塗装API:

// ... code to register the paint worklet and update --progress ...
ログイン後にコピー
動的でカスタマイズされたビジュアルスタイルを有効にします。 主な機能には、ペイントワークレット、カスタムプロパティ、

機能が含まれます。

ペイントAPI例:動的パターン:

この例は、円の動的なパターンを作成します。 HTML:

<div id="night-sky"></div>
<🎜>
ログイン後にコピー
ログイン後にコピー

cssは塗料ワークレットを適用します:

#night-sky {
  width: 100vw;
  height: 100vh;
  background-image: paint(starrySky);
}
ログイン後にコピー
ログイン後にコピー

javascript(app.js)パターンを定義します:

class Star { paint(ctx, geom, properties) { /* ... star drawing logic ... */ } }
registerPaint('starrySky', Star);
ログイン後にコピー
ログイン後にコピー

Building a 3D Card Flip Animation with CSS Houdini

インタラクティブ3Dカードフリップ:

このセクションでは、Houdiniを使用して3Dカードフリップアニメーションの構築を詳述しています。 HTML、CSS、およびJavaScript(app.jsおよびpaintworklet.js)が提供され、ワー​​クレット、カスタムプロパティ、ペイントAPIの統合を実証して、ホバートリガーアニメーションを作成します。

カードフリップの拡張Building a 3D Card Flip Animation with CSS Houdini

カードフリップは、サンプル会社のウェブサイトスタッフセクションに統合されており、実用的なアプリケーションを紹介しています。 修正されたHTML、CSS、およびJavaScriptが表示され、画像とスタッフ情報を組み込む方法を示しています。

結論:

Building a 3D Card Flip Animation with CSS Houdini

この記事は、Houdiniの能力を包括的に紹介し、革新的でインタラクティブなWebエクスペリエンスを作成する可能性を示しています。 例は、ワークレット、カスタムプロパティ、ペイントAPIを活用して、高度な視覚効果を実現し、Web開発ワークフローを強化する方法を示しています。

以上がCSS Houdiniで3Dカードフリップアニメーションを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート