* { margin:0; padding:0; } .box { position:relative; width:200px; height:200px; margin:300px auto; /* 开启 3d 舞台 */ transform-style:preserve-3d; transition:all 2s ease; } .side { position:absolute; top:0; left:0; width:200px; height:200px; text-align:center; line-height:200px; font-size:36px; color:#ffffff; background:rgba(66,66,66,0.5); } /* 往左移动 宽度的一半 并按照 Y 轴旋转 90度*/ .left { transform:translateX(-100px) rotateY(90deg); background:rgba(57,57,107.5); } /* 往右移动 宽度的 一半 并按照 Y 轴旋转 90度 */ .right { transform:translateX(100px) rotateY(90deg); background:rgba(62,238,86,0.5); } /* 往上移动 宽度的一半 并按照 X 轴旋转 90度*/ .top { transform:translateY(-100px) rotateX(90deg); background:rgba(164,57,226,0.5); } /* 往下移动 宽度的一半 并按照 X 轴旋转 90度*/ .bottom { transform:translateY(100px) rotateX(90deg); background:rgba(212,214,53,0.5); } /* 往前移动 宽度的一半*/ .before { transform:translateZ(100px); background:rgba(216,107,17,0.5); } /* 往后移动 宽度的一半*/ .after { transform:translateZ(-100px); background:rgba(221,41,176,0.5); } /* 鼠标 放上去的时候 触发旋转 */ .box:hover { cursor:pointer; transform:rotateX(360deg) rotateY(360deg); }
更新时间:2019-12-23 09:48:12
首先准备六个平面, 根据父类进行定位,把六个平 面 依次 平铺 根据 轴向不同在 旋转 一定的 角度 进行 组合 .当鼠标 hover 的 时候 触发
旋转 . 注: 要开启 3d 舞效果 否则 旋转的时候 就是 平面 图形