纯CSS的多个立方体嵌套3D旋转

纯CSS的多个立方体嵌套3D旋转

添加时间:2021-02-18 12:51:43
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:transform
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

一款纯CSS的多个立方体嵌套3D旋转特效,每个立方体都有一个着色面,这样能很明显看清立方体旋转的不同角度,3个立方体的大小和颜色可以自由调整。
纯CSS的多个立方体嵌套3D旋转
分类:css3 > transform 难易:初级

页面的head部分,需设置好页面元素的样式,代码如下:

* {
  margin:0; padding:0;
  box-sizing:border-box;
}
html, body {
  background:var(--bg);
}
:root{
  --bg:rgb(254, 251, 249);
  --maincube:400px;
  --smallcube:200px;
  --smallercube:100px;
}
#main-wrapper {
  position:relative;
  margin:9em auto;
  width:var(--maincube); height:var(--maincube);
  perspective:1000px;
}

.cube {
  position:absolute;
  top:calc(50% - var(--cubesize) / 2);
  right:calc(50% - var(--cubesize) / 2);
  width:var(--cubesize); height:var(--cubesize);
  transform-style:preserve-3d;
  transform: translateZ(calc(-1 * var(--cubesize) / 2));
  animation:var(--anim) 10s linear infinite alternate;
}
#smallcube {
  animation:subcuberotation 10s linear infinite alternate-reverse;
}
.cube .front { 
  background:rgba(66, 153, 205,.8) !important;
}
.cube > div:not(.cube) {
  position:absolute;
  background:rgba(241, 248, 244, 0.49);
  width:var(--cubesize); height:var(--cubesize);
  border:1px solid rgb(66, 153, 205);
}
.cube > .front  { transform:rotateY(   0deg ) translateZ(calc(var(--cubesize) / 2)); }
.cube > .back   { transform:rotateX( 180deg ) translateZ(calc(var(--cubesize) / 2)); }
.cube > .right  { transform:rotateY(  90deg ) translateZ(calc(var(--cubesize) / 2)); }
.cube > .left   { transform:rotateY( -90deg ) translateZ(calc(var(--cubesize) / 2)); }
.cube > .top    { transform:rotateX(  90deg ) translateZ(calc(var(--cubesize) / 2)); }
.cube > .bottom { transform:rotateX( -90deg ) translateZ(calc(var(--cubesize) / 2)); }

@keyframes maincuberotation {
  0%   { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateY(    0deg ); }
  20%  { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateX( -180deg ); }
  40%  { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateY(  -90deg ); }
  60%  { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateY(   90deg ); }
  80%  { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateX(  -90deg ); }
  100% { transform:translateZ(calc(-1 * var(--cubesize) / 2)) rotateX(   90deg ); }
}
@keyframes subcuberotation {
  0%   { transform:rotateY(    0deg ); }
  20%  { transform:rotateX( -180deg ); }
  40%  { transform:rotateY(  -90deg ); }
  60%  { transform:rotateY(   90deg ); }
  80%  { transform:rotateX(  -90deg ); }
  100% { transform:rotateX(   90deg ); }
}

页面的body部分,用来多个div容器来显示不同的立方体,代码如下:

<div id="main-wrapper">
  <div id="maincube" class="cube" style="--cubesize:400px;--anim:maincuberotation;">
    <div class="front"></div>
    <div class="back"></div>
    <div class="right"></div>
    <div class="left"></div>
    <div class="top"></div>
    <div class="bottom"></div>

    <div id="smallcube" class="cube" style="--cubesize:200px;--anim:subcuberotation;">
      <div class="front"></div>
      <div class="back"></div>
      <div class="right"></div>
      <div class="left"></div>
      <div class="top"></div>
      <div class="bottom"></div>

      <div id="smallercube" class="cube" style="--cubesize:100px;">
        <div class="front"></div>
        <div class="back"></div>
        <div class="right"></div>
        <div class="left"></div>
        <div class="top"></div>
        <div class="bottom"></div>
      </div>
    </div>
  </div>
</div>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:纯CSS的多个立方体嵌套3D旋转

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.146727s