CSS3動畫是前端開發(fā)中常用的視覺呈現(xiàn)技術(shù)之一。其中,旋轉(zhuǎn)立方體是一種經(jīng)典的動畫方式。
/*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屬性,讓子元素在三維空間內(nèi)呈現(xiàn)。利用animation屬性,使立方體在5秒內(nèi)無限循環(huán)旋轉(zhuǎn)。通過各自的變形(translateZ、rotateY、rotateX)讓每個面呈現(xiàn)出不同的方向。
這種動畫效果可以應(yīng)用在很多場景下,比如產(chǎn)品展示、場景演示等。但需要注意的是,在移動端上,動畫效果可能存在卡頓,需要進(jìn)行優(yōu)化。
上一篇css span長寬高
下一篇css3動畫燈光