上面的代码是CSS3D相册的HTML结构,其中添加了一个div元素并设置3D场景,使用carousel类定义相册容器,内部通过figure元素展示不同的图片。
.scene { width: 500px; height: 500px; position: relative; perspective: 1000px; } .carousel { width: 100%; height: 100%; position: absolute; transform-style: preserve-3d; transition: transform 1s; } .carousel figure { display: block; position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .carousel .front { transform: rotateY(0); z-index: 6; } .carousel .back { transform: rotateY(180deg); z-index: 5; } .carousel .top { transform: rotateX(-90deg) translateZ(250px); z-index: 4; } .carousel .bottom { transform: rotateX(90deg) translateZ(250px); z-index: 3; } .carousel .left { transform: rotateY(-90deg) translateZ(250px); z-index: 2; } .carousel .right { transform: rotateY(90deg) translateZ(250px); z-index: 1; }
代码片段中给定了CSS,使得相册可以旋转和立体呈现。其中,设置了3D场景后,给.carousel设置了preserve-3d属性,使得内部的figure可以呈现3D效果。
同时,carousel下的不同figure标签的transform属性使得其能够旋转至不同的位置,从而实现3D旋转效果。
CSS3D相册能够给页面带来全新的展示效果,为网站添加更多的生动感和视觉上的冲击力。