下面是魔方的CSS代码,它使用了CSS3的transform属性和transition属性。
.cube-container { perspective: 700px; } .cube-container .cube { transform-style: preserve-3d; transition: transform 1s; } .cube-container:hover .cube { transform: rotateY(180deg); } .face { position: absolute; } .front { transform: translateZ(25px); } .back { transform: rotateY(180deg) translateZ(25px); } .left { transform: rotateY(-90deg) translateZ(25px); } .right { transform: rotateY(90deg) translateZ(25px); } .top { transform: rotateX(90deg) translateZ(25px); } .bottom { transform: rotateX(-90deg) translateZ(25px); }
接下来,大家需要在HTML中使用以上代码。大家需要一个包裹着6个面的容器和每个面的HTML元素。例如:
<div class="cube-container"> <div class="cube"> <div class="face front"><!-- 正面 --></div> <div class="face back"><!-- 背面 --></div> <div class="face left"><!-- 左面 --></div> <div class="face right"><!-- 右面 --></div> <div class="face top"><!-- 上面 --></div> <div class="face bottom"><!-- 下面 --></div> </div> </div>
最后,在CSS中设置每个面的样式,例如:
.front { width: 100px; height: 100px; background-color: red; } .back { width: 100px; height: 100px; background-color: blue; } .left { width: 100px; height: 100px; background-color: green; } .right { width: 100px; height: 100px; background-color: yellow; } .top { width: 100px; height: 100px; background-color: orange; } .bottom { width: 100px; height: 100px; background-color: purple; }
这样,当鼠标在魔方上移动时,它将自动旋转。