今回は、3Dフォトアルバム効果を実現する方法について説明します。3Dフォトアルバム効果を実現するための注意事項は何ですか?実際のケースを見てみましょう。
この記事では CSS3 プロパティを使用して例を作成します。早速、その効果を見てみましょう。 一部の属性の使用法については以前に説明したため、この記事では詳細には説明しません。この例のコーディング プロセスのみを記録します。プロジェクトコードは最後です。 レイアウトhtmlレイアウトを直接見てください:
<p class="my-container"> <!-- 大容器 --> <p class="photo-wrap"> <!-- 舞台 --> <p class="container"> <!-- 相册容器 --> <p class="img img01"></p> <p class="img img02"></p> <p class="img img03"></p> <p class="img img04"></p> <p class="img img05"></p> <p class="img img06"></p> <p class="img img07"></p> <p class="img img08"></p> <p class="img img09"></p> </p> </p> </p>
スタイル
大きなコンテナ
一番外側の大きなコンテナは、実際の状況に応じてスタイルを定義するだけです。.my-container { width: 800px; height: 500px; margin: 20px auto; }
ステージ要素
perspective属性は、そのすべてのサブ要素が遠近効果を取得できるように3D空間をアクティブにするために使用されます(3D変換を使用する要素、この例ではアルバムコンテナ要素)。.photo-wrap { perspective: 800px; width: 800px; }
アルバムコンテナ
アルバムコンテナのtransform-style:preserve-3d;スタイルは、すべての子要素が3D空間でレンダリングされることを意味します。.container { width: 800px; height: 500px; margin: 0 auto; position: relative; transform-style: preserve-3d; }
.img { width: 200px; height: 118px; line-height: 118px; text-align: center; position: absolute; top: 160px; left: 300px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.9) inset; background: pink; }
.img01 { transform: rotateY(0deg); } .img02 { transform: rotateY(40deg); } .img03 { transform: rotateY(80deg); } .img04 { transform: rotateY(120deg); } .img05 { transform: rotateY(160deg); } .img06 { transform: rotateY(200deg); } .img07 { transform: rotateY(240deg); } .img08 { transform: rotateY(280deg); } .img09 { transform: rotateY(320deg); }
.img01 { transform: rotateY(0deg) translateZ(300px); } .img02 { transform: rotateY(40deg) translateZ(300px); } .img03 { transform: rotateY(80deg) translateZ(300px); } .img04 { transform: rotateY(120deg) translateZ(300px); } .img05 { transform: rotateY(160deg) translateZ(300px); } .img06 { transform: rotateY(200deg) translateZ(300px); } .img07 { transform: rotateY(240deg) translateZ(300px); } .img08 { transform: rotateY(280deg) translateZ(300px); } .img09 { transform: rotateY(320deg) translateZ(300px); }
画像タグ に追加すれば完了です。
アニメーション
このフォトアルバムを動かしたい場合は、アニメーションを追加するだけです。@keyframes rotateY360 { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } }
animation: rotateY360 15s ease-in-out infinite;
ウォーターフォールフローレイアウトと無限読み込みのフォトアルバム効果
以上が3Dフォトアルバム効果の実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。