CSS3為我們提供了豐富的效果,其中骰子旋轉(zhuǎn)也是一種常見的效果。通過使用CSS3的transform屬性,我們可以輕松地實(shí)現(xiàn)一個(gè)帶有旋轉(zhuǎn)效果的骰子。下面是一個(gè)例子:
.dice { width: 100px; height: 100px; background-color: #fff; display: flex; justify-content: center; align-items: center; transform-style: preserve-3d; transform: perspective(1000px) rotateX(30deg) rotateY(45deg); } .dice span { display: block; width: 50px; height: 50px; background-color: #ccc; position: absolute; border-radius: 5px; } .dice span:nth-child(1) { transform: rotateY(90deg) translateZ(50px); } .dice span:nth-child(2) { transform: rotateX(90deg) translateZ(50px); } .dice span:nth-child(3) { transform: translateZ(50px); } .dice span:nth-child(4) { transform: rotateX(180deg) translateZ(50px); } .dice span:nth-child(5) { transform: rotateY(-90deg) translateZ(50px); } .dice span:nth-child(6) { transform: rotateY(-180deg) rotateX(90deg) translateZ(50px); }
我們可以通過設(shè)置transform-style為preserve-3d實(shí)現(xiàn)3D空間變換,并通過perspective屬性設(shè)置視角,使得骰子變得更加真實(shí)。
對(duì)于骰子內(nèi)部的六個(gè)面,我們通過設(shè)置不同的transform實(shí)現(xiàn)3D空間變換,從而呈現(xiàn)不同的角度。這里使用的是translateZ(移動(dòng)Z軸)和rotateX/Y(旋轉(zhuǎn)X/Y軸)。
通過上面的CSS代碼,我們就可以實(shí)現(xiàn)一個(gè)帶有旋轉(zhuǎn)效果的骰子了!