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弹性布局)
上面是“js结合css3做一个魔方效果?”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_2737.html
workflows工作流
沙漠里美丽的图阿雷格女孩ComfyUI工作流
一条赤壁龙从蛋中孵化出来ComfyUI工作流
1个很漂亮的单身小女孩ComfyUI工作流
一位穿着优雅银色装饰黑色连衣裙的苗条模特
小丑鱼马林在鱼缸里游来游去ComfyUI工作流
一个男人正走进科幻的大门ComfyUI工作流
穿着蘑菇帽的小蚂蚁探险家ComfyUI工作流
星空星域星球comfyui工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

js实现table表格动态新增行和列表
用svg画出游泳池动画效果
css3卡片动态滑动效果
如何利用svg做一个有趣的loading动画加载
日历设置每个月颜色都不一样
自动打字效果(惊喜在后面)
css3结合svg做一个动态广告
SVG路径动画效果











