闭合立方体动画演示
本帖最后由 马黑黑 于 2022-4-10 20:33 编辑 <br /><br /><style>body { perspective: 3000px; }
.cube {
--x: 120px;
--xx: -60px;
margin: 100px auto;
width: var(--x);
height: var(--x);
transform-style: preserve-3d;
transform-origin: 50% 50% 0;
animation: rot 10s linear infinite;
}
.cube div {
position: absolute;
left: 0; top: 0; width: inherit; height: inherit;
font: 2em / var(--x) Arial;
color: white;
text-align: center;
text-shadow: 1px 1px 2px #000;
opacity: .85;
}
.cube div:nth-child(1) { background: tan; transform: rotateY(0deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(2) { background: black; transform: rotateY(90deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(3) { background: green; transform: rotateY(180deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(4) { background: magenta; transform:rotateY(270deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(5) { background: red; transform: rotateX(-90deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(6) {background: green; transform: rotateX(-90deg) translateZ(var(--xx)); }
@keyframes rot {
to { transform: rotateX(-720deg) rotateY(360deg); }
}
</style>
<div class="cube">
<div>前</div>
<div>左</div>
<div>后</div>
<div>右</div>
<div>底</div>
<div>顶</div>
</div>
代码:
<style>
body { perspective: 3000px; }
.cube {
--x: 120px;
--xx: -60px;
margin: 100px auto;
width: var(--x);
height: var(--x);
transform-style: preserve-3d;
transform-origin: 50% 50% 0;
animation: rot 10s linear infinite;
}
.cube div {
position: absolute;
left: 0; top: 0; width: inherit; height: inherit;
font: 2em / var(--x) Arial;
color: white;
text-align: center;
text-shadow: 1px 1px 2px #000;
opacity: .85;
}
.cube div:nth-child(1) { background: tan; transform: rotateY(0deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(2) { background: black; transform: rotateY(90deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(3) { background: green; transform: rotateY(180deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(4) { background: magenta; transform:rotateY(270deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(5) { background: red; transform: rotateX(-90deg) translateZ(calc(var(--x) / 2)); }
.cube div:nth-child(6) {background: green; transform: rotateX(-90deg) translateZ(var(--xx)); }
@keyframes rot {
to { transform: rotateX(-720deg) rotateY(360deg); }
}
</style>
<div class="cube">
<div>前</div>
<div>左</div>
<div>后</div>
<div>右</div>
<div>底</div>
<div>顶</div>
</div>
这个和那个镇宫之宝有点像,这个是6面颜色各不相同{:4_187:} 黑黑朋友晚上好!俺看不出什么门道,但却深深地赞叹你的高潮技艺。 红影 发表于 2022-4-10 21:08
这个和那个镇宫之宝有点像,这个是6面颜色各不相同
立方体都一样,只是换一个写法,让它的实现简单一点 梦油 发表于 2022-4-10 21:10
黑黑朋友晚上好!俺看不出什么门道,但却深深地赞叹你的高潮技艺。
谢谢夸奖 现在再来学习 加林森 发表于 2022-4-10 22:02
现在再来学习
队长早 马黑黑 发表于 2022-4-11 07:32
队长早
老黑上午好。 马黑黑 发表于 2022-4-10 21:15
立方体都一样,只是换一个写法,让它的实现简单一点
嗯嗯,多点写法更好,正好多跟着学学{:4_199:} 马黑黑 发表于 2022-4-10 21:15
谢谢夸奖
黑黑朋友早晨好!你真是难得的人才啊! 梦油 发表于 2022-4-11 10:28
黑黑朋友早晨好!你真是难得的人才啊!
{:4_190:} 红影 发表于 2022-4-11 10:18
嗯嗯,多点写法更好,正好多跟着学学
思路不止一种的 加林森 发表于 2022-4-11 10:16
老黑上午好。
中午好 马黑黑 发表于 2022-4-11 12:01
中午好
中午好。{:4_190:} 马黑黑 发表于 2022-4-11 12:00
黑黑朋友下午好!俺希望尽可能多地欣赏到你的作品。 梦油 发表于 2022-4-11 13:53
黑黑朋友下午好!俺希望尽可能多地欣赏到你的作品。
放心,主要时间许可 马黑黑 发表于 2022-4-11 14:15
放心,主要时间许可
太好了,黑黑朋友。 梦油 发表于 2022-4-11 15:01
太好了,黑黑朋友。
一切正常 马黑黑 发表于 2022-4-11 12:01
思路不止一种的
更习惯于这个,没有JS的感觉好理解{:4_173:}
页:
[1]
2