/* 为相册创建样式 */ .album { width: 500px; height: 400px; perspective: 800px; position: relative; margin: 0 auto; } /* 创建相片容器 */ .photo { position: absolute; width: 100%; height: 100%; transform-style: preserve-3d; transition: all 1s; } /* 创建相片正面的样式 */ .photo-front, .photo-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } /* 相片正面样式设置 */ .photo-front { background-color: #FFF; transform: rotateY(0); z-index: 2; cursor: pointer; } /* 相片反面样式设置 */ .photo-back { background-color: #DDD; transform: rotateY(180deg); } /* 悬停时的效果 */ .photo:hover { transform: rotateY(-60deg); } /* 点击时的效果 */ .clicked { transform: rotateY(-120deg); }
上述 CSS 代码中,大家为相册创建了一个包含所有相片的容器,该容器的 3D 效果和动画效果都是基于 transform 技术实现的。每张相片都是一个独立的容器,拥有自己的前面和后面,大家通过 transform 来切换相片的正面和反面。
每当用户悬停在相片上时,该相片将会旋转到一个特定的角度,并呈现出 3D 效果。同样,当用户点击相片时,该相片将旋转到另一个角度。
CSS 技术在网页设计中的应用十分广泛,使用它可以为网页添加真实感和动态效果。上述代码可以帮助你了解如何使用 CSS 制作立体相册,同时也能启发你对于其它项目的设计思路。