转换后,CSS Cube恢复到其初始状态

mokko211

我不是CSS方面的专家,因此我遵循了不同的教程资料,以便在使用css和html进行悬停时创建一个旋转的多维数据集。

悬停时,立方体平移并旋转。但是,当它不再处于活动状态时,我希望该多维数据集返回到此原始位置。如何做到这一点?

这是代码。

的HTML

.wrap {
  -webkit-perspective: 800px;
  perspective: 800px;
  -webkit-perspective-origin: 50% 100px;
  perspective-origin: 50% 100px;
  float: left;
  margin-right: 3.5px;
  -webkit-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
}
.cube {
  position: relative;
  width: 80px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  margin: 0 auto;
  margin-top: 30px;
  -webkit-animation: spin 3s infinite linear;
  animation: spin 3s infinite linear;
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}
.cube div {
  position: absolute;
  width: 50px;
  height: 50px;
}
.back {
  transform: translateZ(0px) rotateY(180deg);
  background: #057e98;
  opacity: 0.8;
}
.right {
  transform: rotateY(-270deg) translateX(0px);
  transform-origin: top right;
  background: #16a8b8;
  opacity: 0.8;
}
.left {
  transform: rotateY(270deg) translateX(0px);
  transform-origin: center left;
  background: #c25e28;
  opacity: 0.8;
}
.top {
  transform: rotateX(-90deg) translateY(-50px);
  -webkit-transform-origin: top center;
  transform-origin: top center;
  background: #c25e28;
  opacity: 0.8;
}
.bottom {
  transform: rotateX(90deg) translateY(0px);
  transform-origin: bottom center;
  background: blue;
  opacity: 0.8;
}
.front {
  transform: translateZ(50px);
  background: #f47a2d;
  opacity: 0.8;
}
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotateY(0);
    -webkit-transform-origin: 20% 50% 0;
  }
  to {
    -webkit-transform: rotateY(360deg);
    -webkit-transform-origin: 20% 50% 0;
  }
}
.cube:hover {
  -webkit-animation-play-state: running;
  animation-play-state: running;
}
.wrap:hover {
  -webkit-transform: translate(3em, 5em);
}
<div class="wrap">
  <div class="cube text-center">
    <div class="front">
    </div>
    <div class="back">
    </div>
    <div class="top">
    </div>
    <!--<div class="bottom"> 
          </div>-->
    <div class="left">
    </div>
    <div class="right">
    </div>
  </div>
</div>

<div class="wrap">
  <div class="cube text-center">
    <div class="front">
    </div>
    <div class="back">
    </div>
    <div class="top">
    </div>
    <!--<div class="bottom"> 
          </div>-->
    <div class="left">
    </div>
    <div class="right">
    </div>
  </div>
</div>

问题是当多维数据集停止旋转时,它将保持其当前状态。我希望它恢复到其原始位置和状态。也就是说,如果它停止旋转并显示“右侧”,则应返回到其原始位置并显示“正面”。

糯米饭

我认为您需要喜欢以下内容。您必须应用以下CSS:

这是因为您animation-play-state: paused;在不悬停时暂停了动画,所以动画将停止。

.wrap {
     -webkit-perspective: 800px;
        perspective: 800px;
        -webkit-perspective-origin: 50% 100px;
        perspective-origin: 50% 100px;
        float:left;
        margin-right: 3.5px;
        -webkit-transition: 1s ease-in-out;
        -moz-transition: 1s ease-in-out;
        -o-transition: 1s ease-in-out;    
    }

    .cube {
        position: relative;
        width: 80px;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
        margin: 0 auto;
        margin-top: 30px;        
       

    }

    .cube div {
        position: absolute;
        width: 50px;
        height: 50px;
    }

    .back {
        transform: translateZ(0px) rotateY(180deg);
        background: #057e98;
        opacity: 0.8;
    }
    .right {
        transform: rotateY(-270deg) translateX(0px);
        transform-origin: top right;
        background: #16a8b8;
        opacity: 0.8;
    }
    .left {
        transform: rotateY(270deg) translateX(0px);
        transform-origin: center left;
        background: #c25e28;
        opacity: 0.8;
    }
    .top {
        transform: rotateX(-90deg) translateY(-50px);
        -webkit-transform-origin: top center;
        transform-origin: top center;
        background: #c25e28;
        opacity: 0.8;
    }
    .bottom {
        transform: rotateX(90deg) translateY(0px);
        transform-origin: bottom center;
        background: blue;
        opacity: 0.8;
    }
    .front {
        transform: translateZ(50px);
        background: #f47a2d;
        opacity: 0.8;
    }

    @-webkit-keyframes spin {
        from { -webkit-transform: rotateY(0); -webkit-transform-origin: 20% 50% 0; }
        to { -webkit-transform: rotateY(360deg); -webkit-transform-origin: 20% 50% 0;}
    } 

@keyframes spin {
        from { transform: rotateY(0); transform-origin: 20% 50% 0; }
        to { transform: rotateY(360deg); transform-origin: 20% 50% 0;}
    } 

    .cube:hover {  
     -webkit-animation: spin 3s infinite linear;
        animation: spin 3s infinite linear;
        -webkit-animation-play-state: running;
        animation-play-state: running;
    }

    .wrap:hover{
        -webkit-transform: translate(3em,5em);
      transform: translate(3em,5em);
    }
<div class="wrap">
   <div class="cube text-center">
      <div class="front">
      </div>
      <div class="back">
      </div>
      <div class="top">
      </div>
      <!--<div class="bottom"> 
      </div>-->
      <div class="left">
      </div>
      <div class="right">
      </div>
  </div>
</div>

<div class="wrap">
   <div class="cube text-center">
      <div class="front">
      </div>
      <div class="back">
      </div>
      <div class="top">
      </div>
      <!--<div class="bottom"> 
      </div>-->
      <div class="left">
      </div>
      <div class="right">
      </div>
  </div>
</div>

希望能帮助到你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击NSAttributedString后恢复其视觉状态

来自分类Dev

Gitlab在恢复后不返回初始状态

来自分类Dev

停止无限的CSS3动画并平稳地恢复到初始状态

来自分类Dev

jQuery如何使元素在动画后恢复到初始位置

来自分类Dev

断电后将 CentOS 文件恢复到以前的状态

来自分类Dev

从波兰语转换为日语再回到波兰语后,如何将字符恢复到原始状态?

来自分类Dev

CSS3动画不断恢复到原始状态

来自分类Dev

缩放转换后,“相机”会恢复到缩放之前的位置

来自分类Dev

CSS转换值处于“从”和“到”状态

来自分类Dev

初始转换后悬挂TuesPechkin

来自分类Dev

滑动以在iOS中显示后尝试使表格单元格恢复其原始状态

来自分类Dev

加载jsTree树并恢复其状态后,可以使用cookie来运行代码吗?

来自分类Dev

转换后的CSS单击

来自分类Dev

Xpath到CSS的转换

来自分类Dev

统一旋转后如何将对象恢复到其原始位置?

来自分类Dev

向下滚动组件后,如何设置“位置:固定”而不将组件恢复到其原始位置?

来自分类Dev

升级到14.04服务器后,如何恢复初始的“统计信息页面”(当天的消息)?

来自分类Dev

保存错误后重置 - 未恢复到正确的初始值

来自分类Dev

恢复到在线状态后,检索推送通知。Firebase / Onesignal

来自分类Dev

如何让按钮在一系列点击后恢复到原来的状态

来自分类Dev

了解CSS转换后的缩放

来自分类Dev

状态转换后重新加载数据

来自分类Dev

全新安装后如何将PostgreSQL数据库还原到初始状态

来自分类Dev

全新安装后如何将PostgreSQL数据库还原到初始状态

来自分类Dev

反应:状态更改后获取初始状态

来自分类Dev

状态更改后返回初始状态

来自分类Dev

状态更改后返回初始状态

来自分类Dev

方向改变后片段恢复状态

来自分类Dev

引导后立即恢复小部件状态

Related 相关文章

  1. 1

    单击NSAttributedString后恢复其视觉状态

  2. 2

    Gitlab在恢复后不返回初始状态

  3. 3

    停止无限的CSS3动画并平稳地恢复到初始状态

  4. 4

    jQuery如何使元素在动画后恢复到初始位置

  5. 5

    断电后将 CentOS 文件恢复到以前的状态

  6. 6

    从波兰语转换为日语再回到波兰语后,如何将字符恢复到原始状态?

  7. 7

    CSS3动画不断恢复到原始状态

  8. 8

    缩放转换后,“相机”会恢复到缩放之前的位置

  9. 9

    CSS转换值处于“从”和“到”状态

  10. 10

    初始转换后悬挂TuesPechkin

  11. 11

    滑动以在iOS中显示后尝试使表格单元格恢复其原始状态

  12. 12

    加载jsTree树并恢复其状态后,可以使用cookie来运行代码吗?

  13. 13

    转换后的CSS单击

  14. 14

    Xpath到CSS的转换

  15. 15

    统一旋转后如何将对象恢复到其原始位置?

  16. 16

    向下滚动组件后,如何设置“位置:固定”而不将组件恢复到其原始位置?

  17. 17

    升级到14.04服务器后,如何恢复初始的“统计信息页面”(当天的消息)?

  18. 18

    保存错误后重置 - 未恢复到正确的初始值

  19. 19

    恢复到在线状态后,检索推送通知。Firebase / Onesignal

  20. 20

    如何让按钮在一系列点击后恢复到原来的状态

  21. 21

    了解CSS转换后的缩放

  22. 22

    状态转换后重新加载数据

  23. 23

    全新安装后如何将PostgreSQL数据库还原到初始状态

  24. 24

    全新安装后如何将PostgreSQL数据库还原到初始状态

  25. 25

    反应:状态更改后获取初始状态

  26. 26

    状态更改后返回初始状态

  27. 27

    状态更改后返回初始状态

  28. 28

    方向改变后片段恢复状态

  29. 29

    引导后立即恢复小部件状态

热门标签

归档