CSS3為我們提供了豐富的效果,其中骰子旋轉也是一種常見的效果。通過使用CSS3的transform屬性,我們可以輕松地實現一個帶有旋轉效果的骰子。下面是一個例子:
.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); }
我們可以通過設置transform-style為preserve-3d實現3D空間變換,并通過perspective屬性設置視角,使得骰子變得更加真實。
對于骰子內部的六個面,我們通過設置不同的transform實現3D空間變換,從而呈現不同的角度。這里使用的是translateZ(移動Z軸)和rotateX/Y(旋轉X/Y軸)。
通過上面的CSS代碼,我們就可以實現一個帶有旋轉效果的骰子了!