CSS3動畫是前端開發中常用的視覺呈現技術之一。其中,旋轉立方體是一種經典的動畫方式。
/*css代碼*/ .cube { width: 100px; height: 100px; position: relative; transform-style: preserve-3d; animation: spin 5s linear infinite; } .cube .face { width: 100%; height: 100%; position: absolute; backface-visibility: hidden; border: 2px solid #333; } .cube .front { transform: translateZ(50px); } .cube .back { transform: rotateY(180deg) translateZ(50px); } .cube .left { transform: rotateY(-90deg) translateZ(50px); } .cube .right { transform: rotateY(90deg) translateZ(50px); } .cube .top { transform: rotateX(90deg) translateZ(50px); } .cube .bottom { transform: rotateX(-90deg) translateZ(50px); } @keyframes spin { from { transform: rotateX(0deg) rotateY(0deg); } to { transform: rotateX(360deg) rotateY(360deg); } }
上面的代碼中,.cube代表立方體的容器,.face代表立方體的每一個面。利用transform-style: preserve-3d屬性,讓子元素在三維空間內呈現。利用animation屬性,使立方體在5秒內無限循環旋轉。通過各自的變形(translateZ、rotateY、rotateX)讓每個面呈現出不同的方向。
這種動畫效果可以應用在很多場景下,比如產品展示、場景演示等。但需要注意的是,在移動端上,動畫效果可能存在卡頓,需要進行優化。
上一篇css span長寬高
下一篇css3動畫燈光