


素晴らしいインク スプレー アニメーション トランジション効果を備えたモーダル ウィンドウを開く特殊効果_html/css_WEB-ITnose
簡単なチュートリアル
これは、CSS3 と jQuery を使用して作成された、クールなインクを噴霧するオープン モーダル ウィンドウ効果です。この特殊効果は、PNG インク スプレー スプライト画像とsteps() 関数を使用して、ボタンをクリックしたときにインクが広がる効果を作成し、全体の効果は画面にインクを振りかけるようなもので、画面の色が変わります。
用意したスプライト画像とCSSのsteps()関数を利用して、様々な滑らかな遷移アニメーション効果を作成できます。一部のエフェクト画像は、After Effects ツールを使用して特定のビデオから直接抽出できます。必要なビデオ フレームを連続 PNG イメージに変換し、これらのイメージをスプライト イメージに結合できます。
デモを見る プラグインをダウンロードする
使用方法
HTML構造
このエフェクトのHTML構造は、3つの主要な部分に分かれています: main.cd-main-contentページの主要部分、div .cd-modal はモーダル ウィンドウ、div.cd-transition-layer はアニメーション トランジション レイヤーです。
<main class="cd-main-content"> <div class="center"> <h1>Ink Transition Effect</h1> <a href="#0" class="cd-btn cd-modal-trigger">Start Effect</a> </div></main> <!-- .cd-main-content --> <div class="cd-modal"> <div class="modal-content"> <h1>My Modal Content</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad modi repellendus, optio eveniet eligendi molestiae? Fugiat, temporibus! </p> </div> <!-- .modal-content --> <a href="#0" class="modal-close">Close</a></div> <!-- .cd-modal --> <div class="cd-transition-layer"> <div class="bg-layer"></div></div> <!-- .cd-transition-layer -->
CSS スタイル
モーダル window.cd-modal は、最初は可視性: 非表示によって非表示になっており、高さと幅の両方が 100% に設定され、固定位置が使用されます。
ユーザーがトリガー ボタン a.cd-modal-trigger をクリックすると、.visible プロパティを通じてモーダル ウィンドウが表示されるように設定されます。
.cd-modal { position: fixed; top: 0; left: 0; z-index: 3; height: 100%; width: 100%; opacity: 0; visibility: hidden;}.cd-modal.visible { opacity: 1; visibility: visible;}
div.cd-transition-layer 要素は、スプレー インク効果を持つアニメーション化されたトランジション レイヤーを作成するために使用されます。初期状態では、可視性: 非表示、高さと幅が 100% に設定され、固定位置が使用されます。
.cd-transition-layer { position: fixed; top: 0; left: 0; z-index: 2; height: 100%; width: 100%; opacity: 0; visibility: hidden; overflow: hidden;}
その子要素 div.bg-layer は、背景画像としてスプライト画像を使用し、background-size: 100%、高さ 100%、幅 2500% を設定します (このデモでは、ink.png には 25 フレームがあるため)。まず、ink.png の最初のフレームが div.cd-transition-layer 内の中央に配置されます。
.cd-transition-layer .bg-layer { position: absolute; left: 50%; top: 50%; transform: translateY(-50%) translateX(-2%); height: 100%; /* our sprite is composed of 25 frames */ width: 2500%; background: url(../img/ink.png) no-repeat 0 0; background-size: 100% 100%;}
上記のセンタリング方法では、通常、次のコードを使用して要素をセンタリングするために絶対位置を使用することに注意してください:
position: absolute;left: 50%;top: 50%;transform: translateY(-50%) translateX(-50%);
このデモでは、ink.png スプライト イメージの最初のフレームをセンタリングする必要があります。 div .bg-layer の幅は親要素の幅の 25 倍であるため、translateX(-(50/25)%) を使用して中央に配置します。
インク スプレー アニメーションを作成するには、div.bg-layer の値を変更する必要があります。 @keyframes フレーム アニメーションは次のように定義できます。
すごいです上記のフレーム アニメーションでは、アニメーションの最後に、ink.png スプライトの最後のフレームが div.cd-transition-layer の中央に配置されます。
上記の 100% でのtranslateX の値は次のように理解できます: デモには 25 フレームがあるため、最後のフレームを表示するには、.bg-layer レイヤーを -100% * (25 – 1) 移動する必要があります。 ) = -96%。次に、最後のフレームを中央に配置する必要があります。これには、-2% の追加調整が必要となるため、translateX() の最終値は -98% になります。
ユーザーがトリガー ボタン a.cd-modal-trigger をクリックすると、.cd-transition-layer が .visible クラスで追加されて表示され、インク スプレー アニメーションが .opening クラスを通じてトリガーされます。 。
@keyframes cd-sequence { 0% { transform: translateY(-50%) translateX(-2%); } 100% { transform: translateY(-50%) translateX(-98%); }}
JavaScript
デモでは、ユーザーがトリガー ボタンとモーダル ウィンドウを閉じるボタンをクリックしたときに、対応するクラスを追加および削除するために jQuery が使用されます。
また、png画像の比率を変形しないように調整するためにもjQueryを使用しています。スタイル ファイルでは、.bg レイヤーの各フレームの幅と高さがビューポートと同じサイズに設定されます。ただし、ユーザーのモニターのビューポートの縮尺が異なる場合があるため、一部のフレームが完全に表示されないことがあります。
setLayerDimensions() 関数は、これらの問題を修正するために使用されます。
すごい出典: jQuery ホーム

ホット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)

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する
