純粋なCSS3で蝶が羽ばたく様子を再現。まずはその効果をご覧ください どうですか?効果はかなりいいですよね? 上記のコード: html <div id="蝶"> <div class="leftSide"></div> <div class="body"></div> <div class="rightSide"></div> </div> CS 体{ 背景: url("./images/bg.jpg") 繰り返しなし; } #蝶{ 幅: 600ピクセル; 高さ: 500px; 位置: 相対的; 変換: スケール(0.35); 変換スタイル: 3D を保持します。 } .leftSide{ 幅: 267ピクセル; 高さ: 421px; 背景: url("./images/leftSide.png") 繰り返しなし; 位置: 絶対; 左: 26px; 上: 40px; アニメーション: 左 2 秒無限; zインデックス: 9999; } @keyframes 左 { 0%{ 変換: rotateY(0deg); 変換の原点: 右中央; パースペクティブ: 201px; } 50%{ 変換: rotateY(70deg); 変換の原点: 右中央; パースペクティブ: 201px; } 100%{ 変換: rotateY(0deg); 変換の原点: 右中央; パースペクティブ: 201px; } } @keyframes 右 { 0%{ 変換: rotateY(0); 変換の原点: 左中央; パースペクティブ: 201px; } 50%{ 変換: rotateY(-70deg); 変換の原点: 左中央; パースペクティブ: 201px; } 100%{ 変換: rotateY(0); 変換の原点: 左中央; パースペクティブ: 201px; } } 。体{ 幅: 152ピクセル; 高さ: 328px; 背景: url("./images/body.png") 繰り返しなし; 位置: 絶対; マージン: 自動; 左: 0; 右: 0; 下部: 0; 上: 0; zインデックス: 9999; } .rightSide{ 幅: 284ピクセル; 高さ: 460ピクセル; 背景: url("./images/rightSide.png") 繰り返しなし; 位置: 絶対; 右: 26px; 上: 58px; アニメーション: 右 2 秒無限; zインデックス: 9999; } その前に、いくつかの CSS プロパティを紹介します。 @キーフレーム
変換: rotateY()
この図は、xyz 軸を明確に示しています。実際、3DS MAX などの 3D モデリング ソフトウェアを学習した学生は、これら 3 つの軸の方向をよりよく理解しているはずです。 実装のアイデア: まず、子と父を使用して、左翼、右翼、およびボディを絶対位置に配置し、それらを組み合わせます。次に、transform の rotateY を使用して、y 軸に沿って回転させます。ここで回転に @keyframe アニメーションを使用し、アクションを繰り返します。 transform-style: preserve-3d; プロパティにも注目する必要があります。W3C によれば、これにより、変換された子要素が 3D 変換を保持できるようになります。つまり、すべてのサブ要素は 3D 空間に表示されます。逆に、フラットに設定すると、すべてのサブ要素は 2D 空間に表示されます。 デモのダウンロードアドレス 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
<<: MySQL 8.0.23 メジャーアップデート (新機能)
前回の記事では、beforeとafterの擬似要素を使用してMaterial Designスタイルの...
1. Ubuntu Server 18.04.5 LTS システムのインストールUbuntuはデスク...
序文: MySQL で最も一般的に使用されるアーキテクチャは、マスター スレーブ レプリケーションで...
1.ダウンロードしてインストールする公式ウェブサイトからコミュニティ エディションの dmg インス...
移動を実現するためにtranslateパラメータを使用しますtranslateX: X 軸に沿って移...
最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...
【はじめに】: Handtrack.jsは、ブラウザ上で直接リアルタイムの手の動きの追跡と検出を実...
目次1. プロトタイプとは何ですか? 2. プロトタイプ__プロト__ 4. コンストラクター5. ...
この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...
この記事では、物流タイムライン効果を実現するためのVueの具体的なコードを例として紹介します。具体的...
コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...
さっそく、レンダリングを見てみましょうソースコードは以下のとおりです <!DOCTYPE ht...
目次背景解決策1: 古いデータをバックアップするオプション2: テーブルを分割する解決策3: tid...
目次1. 解体のヒント2. デジタルセパレーター3. try...catch...finally が...
目次1. 基本を理解する2. システム環境を確認する3. ftpコマンドをインストールする[オプショ...