• 欢迎访问杨思积的博客,专注于前端资讯分享,前端技术交流!

3D立方体旋转动画

精选代码 Tomy 426次浏览 已收录 0个评论 扫描二维码
<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta charset="UTF-8">
  <title>HTML5 3D立方体旋转动画DEMO演示</title>
  <style type="text/css">
      *{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html{
    background: -webkit-radial-gradient(center, ellipse, #430d6d 0%, #000000 100%);
    background: radial-gradient(ellipse at center, #430d6d 0%, #000000 100%);
    height: 100%;
}
body{
    width: 20em;
    height: 20em;
    left: 50%;
    margin-left: -10em;
    margin-top: -10em;
    -webkit-perspective: 1000px;
    -ms-perspective: 1000px;
    perspective: 1000px;
    position: absolute;
    top: 50%;
}
cube{
    -webkit-animation: 6s spin linear infinite;
    animation: 6s spin linear infinite;
    height: 100%;
    position: absolute;
    -webkit-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;
    width: 100%;
}
cube *{
    background: -webkit-linear-gradient(270deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px), linear-gradient(90deg, rgba(0, 0, 0, 0) 0px, rgba(54, 226, 248, 0.5) 0%, rgba(54, 226, 248, 0.5) 3px, rgba(0, 0, 0, 0) 0px);
    -webkit-background-size: 2.5em 2.5em, 2.5em 2.5em;
    background-size: 2.5em 2.5em, 2.5em 2.5em;
    background-color: rgba(0, 0, 0, 0.5);
    border: 2px solid rgba(54, 226, 248, 0.5);
    -webkit-box-shadow: 0 0 5em rgba(0, 128, 0, 0.4);
    box-shadow: 0 0 5em rgba(0, 128, 0, 0.4);
    display: block;
    height: 20em;
    position: absolute;
    width: 20em;
}
cube *:before{
    background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 30%, rgba(0, 128, 0, 0.2) 100%);
    content: '';
    height: 100%;
    position: absolute;
    width: 100%;
}
back{
    -webkit-transform: rotateX(180deg) translateZ(10em);
    -ms-transform: rotateX(180deg) translateZ(10em);
    transform: rotateX(180deg) translateZ(10em);
}
bottom{
    -webkit-transform: rotateX(-90deg) translateZ(10em);
    -ms-transform: rotateX(-90deg) translateZ(10em);
    transform: rotateX(-90deg) translateZ(10em);
}
front{
    -webkit-transform: rotateY(0deg) translateZ(10em);
    -ms-transform: rotateY(0deg) translateZ(10em);
    transform: rotateY(0deg) translateZ(10em);
}
left{
    -webkit-transform: rotateY(-90deg) translateZ(10em);
    -ms-transform: rotateY(-90deg) translateZ(10em);
    transform: rotateY(-90deg) translateZ(10em);
}
right{
    -webkit-transform: rotateY(90deg) translateZ(10em);
    -ms-transform: rotateY(90deg) translateZ(10em);
    transform: rotateY(90deg) translateZ(10em);
}
top{
    -webkit-transform: rotateX(90deg) translateZ(10em);
    -ms-transform: rotateX(90deg) translateZ(10em);
    transform: rotateX(90deg) translateZ(10em);
}
@-webkit-keyframes spin
{
    from
    {
        -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg);
        transform: translateZ(-10em) rotateX(0) rotateY(0deg);
    }
    to
    {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
        transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
    }
}
@keyframes spin
{
    from
    {
        -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg);
        transform: translateZ(-10em) rotateX(0) rotateY(0deg);
    }
    to
    {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
        transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
    }
}
  </style>
</head>
<body>
 <cube>
  <back></back>
  <bottom></bottom>
  <front></front>
  <left></left>
  <right></right>
  <top></top>
</cube>
</body>
</html>

代码演示
杨思积的博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明3D立方体旋转动画
喜欢 (0)
[嘿嘿,你懂的]
分享 (0)
Tomy
关于作者:
一个前端爱好者!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址