web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

js结合css3做一个魔方效果?

394 ℃
     

javascript如何结合css3做一个魔方效果?下面web建站小编给大家介绍一下实现代码!

css代码:

*{
  margin: 0;
  padding: 0;
}
body{
  width: 100%;
  height: 100%;
  background: radial-gradient(#fff,pink);
}
.container{
  width: 300px;
  height: 300px;
  margin:150px auto;
  perspective: 20000px;
}
.box{
  width: 300px;
  height: 300px;
  border:1px solid transparent;
  box-sizing: border-box;
  position:relative;
  transform-style: preserve-3d;
  animation: rotate 10s linear infinite;
}

@keyframes rotate{
  100%{
    transform:rotatex(360deg) rotatey(360deg) rotatez(360deg);
  }
}
.box-page{
  width: 300px;
  height: 300px;
  position: absolute;
  box-sizing: border-box;
  transform-style: preserve-3d;
}
.top{
  transform: translateZ(150px);
}
.bottom{
  transform: translateZ(-150px) rotateX(180deg);
}
.left{
  transform: translateX(-150px) rotateY(-90deg);
}
.right{
  transform: translateX(150px) rotateY(90deg);
}
.before{
  transform: translateY(150px) rotateX(-90deg);
}
.after{
  transform: translateY(-150px) rotateX(90deg);
}
.box-page div:first-child,
.box-page div:nth-child(3),
.box-page div:nth-child(5),
.box-page div:nth-child(7),
.box-page div:nth-child(9){
  transform: rotateY(0deg);
  animation: rotatey 6s linear infinite;
}
@keyframes rotatey{
  20%{
  	transform: rotateY(0deg);
  	background-size: 300px 300px;
  }
  40%{
  	transform: rotateY(540deg);
  	background-size: 100px 100px;
  }
  60%{
  	transform: rotateY(540deg);
  	background-size: 100px 100px;
  }
  80%{
  	transform: rotateY(0deg);
  	background-size:300px 300px;
  }
}
.box-page div:nth-child(2),
.box-page div:nth-child(4),
.box-page div:nth-child(6),
.box-page div:nth-child(8){
  transform: rotateX(0deg);
  animation: rotatex 6s linear infinite;
}
@keyframes rotatex{
  20%{
  	transform: rotateX(0deg);
  	background-size: 300px 300px;
  }
  40%{
  	transform: rotateX(540deg);
  	background-size: 100px 100px;
  }
  60%{
  	transform: rotateX(540deg);
  	background-size: 100px 100px;
  }
  80%{
  	transform: rotateX(0deg);
  	background-size: 300px 300px;
  }
}

html代码:

<div class="container">
  <div class="box">
    <div class="top box-page"></div>
    <div class="bottom box-page"></div>
    <div class="left box-page"></div>
    <div class="right box-page"></div>
    <div class="before box-page"></div>
    <div class="after box-page"></div>
  </div>
</div>

js代码:

var arr=document.querySelectorAll(".box>div");
for(var n = 0; n < arr.length; n++){
  for(var i=0; i<3; i++){
    for(var j=0; j<3; j++){
      var divs=document.createElement("div");
      divs.style.cssText="width:100px; height:100px; border:2px solid #fff; box-sizing:border-box;position:absolute; background-image:url(imgs/a"+n+".jpg); background-size:300px 300px;"    ;
      arr[n].appendChild(divs);
      divs.style.left=j*100+"px";
      divs.style.top=i*100+"px";
      divs.style.backgroundPositionX=-j*100+"px";
      divs.style.backgroundPositionY=-i*100+"px";
    }
  }
}

css3如何利用Flex实现响应式表格布局(Flex弹性布局)

css3中justify-content属性的基本用法

css3如何实现文本显示指定内容(隐藏剩余内容)

css3实现鼠标移上去隐藏提示框由上到下滑动效果

js+css3做一个灯泡开灯关灯效果

标签: css3, 魔方效果

上面是“js结合css3做一个魔方效果?”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_2737.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计2440个字,预计阅读时长17分钟
生活小工具,收录了80多款小工具
上一篇: 基于JavaScrip的web动画库——GSAP
下一篇: 免费商用中文字体——优设鲨鱼菲特健康体
x 打工人ai神器