/* 以下代码可以让原来的2D图形旋转变成3D的效果 */ .card { position: relative; transform-style: preserve-3d; transition: transform 1s; } .card:hover { transform: rotateY(180deg); } /* 以下代码可以让一块区域呈现出立体的效果 */ .box { width: 200px; height: 200px; background: #fff; position: relative; perspective: 500px; /* 设置视距为500px,这样可以让3D效果更加真实 */ } .box .face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; /* 防止可见的背面出现 */ } .box .face.front { transform: rotateY(0deg); } .box .face.back { transform: rotateY(180deg); } /* 以下代码可以让一个立体的盒子做出旋转和放大的效果 */ .box { position: relative; } .box .front, .box .back { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align: center; line-height: 200px; font-size: 30px; color: #fff; } .box .front { background-color: #fa8072; transform-origin: center center 50px; /* 设置旋转点的位置 */ transform: rotateX(0deg) scale(1); } .box .back { background-color: #1e90ff; transform-origin: center center -50px; transform: rotateX(-180deg) scale(0.5); /* 设置旋转和缩放同时发生 */ } .box:hover .front { transform: rotateX(180deg) scale(0.5); } .box:hover .back { transform: rotateX(0deg) scale(1); }
以上代码只是其中的一小部分,但是已经拥有了极高的可玩性和实用性,当你想要在你的网站或者页面中加入3D效果时,可以参考以上的代码来实现。当然,如果你拥有更好的代码或者特效,欢迎在下方评论区里面分享给大家。