CSSを使用して3Dフォトウォール効果を作成する

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。

<!doctypehtml>
<html>
<ヘッド>
<メタ文字セット="utf-8">
<title>無題のドキュメント</title>
</head>
<本文>
 <div>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
  <画像ソース="#"/>
 </div>
 
</本文>
</html>

上記のコードは準備です。HTML コードの本文に div を配置し、その中にフォト ウォールに表示したい写真を入れます。数は任意です。次に、スタイルを書き始めます。

body{perspective: 5800px;}

上記のコードは、写真の壁に対して、少なくともすべての写真の移動軌跡を収容するのに十分な大きさの 3D 表示距離を設定します。

img{position:absolute;height:480px;width:320px;}

上記のコードは、各写真のスタイルを設定し、写真に絶対位置を与えることで、写真の位置を任意に制御できるようにします。このとき、写真は互いに重なり合います。幅と高さは、フォトウォール内の写真の特定のサイズによって異なります。もちろん、サイズを設定することもできます。320 * 480は私が示した例です。

img:nth-child(1){transform: translateZ(500px);}
 img:nth-child(2){transform: translateZ(-500px);}
 img:nth-child(3){transform:rotateY(45deg) translateZ(-500px);}
 img:nth-child(4){transform:rotateY(45deg) translateZ(500px);}
 img:nth-child(5){transform:rotateY(-45deg) translateZ(500px);}
 img:nth-child(6){transform:rotateY(-45deg) translateZ(-500px);}
 img:nth-child(7){transform:rotateY(90deg) translateZ(500px);}
 img:nth-child(8){transform:rotateY(90deg) translateZ(-500px);}

上記のコードは、各写真のスタイルを個別に設定し、各写真が独自のY軸を中心に一定の角度で回転するようにします。角度は、配置する写真の枚数によって異なります。写真がn枚ある場合、各写真は順番に360/n度回転します。たとえば、ここに8枚の写真を置いたので、各写真は前の写真よりも360/8 = 45度回転し、0度、45度、90度、135度、180度、225度、270度、315度のようにレイヤーごとに回転し、各写真に独自のZ軸(このとき各写真のZ軸方向が変わっています)に対する正(負の値もすべて許容されます)の等距離変位を設定して広げます。ここで書いた効果は同じです。45度回転して-500px変位することは、実際には225度回転して500px変位することと同じです。

上面図: 最初に回転し、次に全方向に広がります。

移動する前に、まず回転させて Z 軸の方向を変更する必要があります。そうしないと、次のことが起こります。

ここに画像の説明を挿入

まずシフトしてから回転します。最初にシフトするときにすべての画像の Z 軸が最初の方向にあるため、すべての画像が同じ方向に一定の距離シフトされ、重なり合ったままになります。また、再度回転するときには、画像が一緒に圧縮されます。

それから

div{マージン:0 自動;マージン上部:600px;
変換スタイル: 3D を保持します。
アニメーション:zhuan 6s 線形無限;高さ:480px;幅:320px;}
@keyframes zhuan{
   0%{transform:rotateX(-15deg)rotateY(0);}
   100%{変換: 回転X(-15度) 回転Y(360度);}
  }

最後のステップ:すべての画像を含むdivを初期位置を中心に回転させるアニメーション効果、つまりrotateY(360度)を設定します。アニメーションは画像ではなくdivに設定する必要があることに注意してください。そうしないと、「回転」になります。必要な効果は「回転」です。観察しやすいようにブラウザの中央に表示するようにマージンを設定し、3Dパースペクティブを設定してから、アニメーションの遷移時間を6秒に設定し(回転速度は変更できます)、無限ループするようにinfiniteを設定します。観察しやすいように、div全体をx軸を中心に-15度回転させます。

レンダリング

ここに画像の説明を挿入

要約する

上記は、CSS を使用して 3D フォト ウォール効果を作成する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  32 典型的な列/グリッドベースのウェブサイト

>>:  ウェブデザインにおけるキーワード設計手法の紹介

推薦する

Vue のクロスドメイン問題の処理と解決策の概要

ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越え...

Axios を使用して Vue2 がリクエストを開始する詳細なプロセス記録

目次序文Axiosのインストールと設定シンプルなGETリクエストを開始するPOSTリクエストを行うシ...

通知メッセージカルーセルを実装するための CSS3 トランジション

Vueバージョンをファイルにコピーして使用します <テンプレート> <!-- カル...

ルート変更を監視するJavaScriptの詳細な説明

目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

CSS3のfocus-withinセレクタの使用

擬似要素と擬似クラスところで、まずは疑似クラスセレクターと疑似要素セレクターについておさらいしておき...

テーブル切り替えのための JavaScript プラグインのカプセル化

この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考...

CSS 共通スタイルで二重矢印を描画するサンプルコード

1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...

Rabbitmq heartbea ハートビート検出メカニズムの原理の分析

序文RabbitMQ を使用する場合、一定期間クライアントと RabbitMQ サーバーの間でトラフ...

表の最初の行と最初の列を固定し、適応型ウィンドウを実現するための CSS の例コード

今日のキャンパス採用筆記試験では、固定された最初の行と最初の列を実装し、幅をウィンドウの変更に適応さ...

CSSでスペースを処理する方法

1. 宇宙のルールHTML コード内の空白は通常、ブラウザによって無視されます。 <p>...

Tomcat サービスに Java 起動コマンドを追加する方法

私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...

子ども向けウェブサイトの視覚構造レイアウト設計手法の分析

1. 温かくて優しい関連アドレス: http://www.web-designers.cn/post...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...