html5实现3d正方形旋转,HTML5 CSS3 实现旋转的3D正方体

rotate3d与translate3d的参数为:(0/1,0/1,0/1,deg/px) 0代表不旋转或移动,1代表旋转或移动,最后一个参数为旋转的角度或移动的距离

perspective(px) 是transform中的属性,代表视角,距离越小元素变化越夸张

关于Z轴,在元素旋转的时候Z轴位置会随着旋转的角度改变,也就是说一个正面的正方体以X轴旋转90度后Z轴由原先的从上到下变为从后到前,其他轴也一致

注:谷歌浏览器需要加-webkit-的前缀,火狐-moz-,IE-ms-,Opera -o-

2.animation为元素添加动画效果

animation: 动画名 时长s infinite(循环) linear(匀速);

-webkit-animation-play-state: paused/running; 暂停播放/继续播放

-webkit-animation-fill-mode:forwards;播放结束后元素保持动画最后一帧的效果(由于循环没有结束的时候所以对循环无效)

备:透明效果 opacity: 0.9;

附上代码:

注:图片可自行修改!

HTML:

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
6.jpg

CSS:

body,html{

margin: 0;

padding: 0;

background: url(../img/3.jpg) no-repeat;

width: 100%;

height: 100%;

overflow: hidden;

background-size:cover;

}

.outbox img{

width: 300px;

height: 300px;

}

.outbox{

width: 300px;

height: 300px;

margin: 200px auto 0;

}

.smallbox{

width: 300px;

height: 300px;

transform-style: preserve-3d;

position: relative;

animation: anibox 15s infinite linear;

/*-webkit-animation-fill-mode:forwards;*/

}

.smallbox:active{

-webkit-animation-play-state: paused;

}

@keyframes anibox{

0%{-webkit-transform: perspective(800px) rotate3d(0,0,0,0deg) rotateX(0deg);translateZ(0px);}

25%{-webkit-transform: perspective(800px) rotate3d(1,0,0,360deg) rotateY(180deg);translateZ(500px);}

50%{-webkit-transform: perspective(800px) rotate3d(1,0,0,720deg) rotateX(180deg);translateZ(1000px);}

75%{-webkit-transform: perspective(800px) rotate3d(0,1,0,360deg) rotateY(360deg);translateZ(500px);}

100%{-webkit-transform: perspective(800px) rotate3d(0,1,0,720deg) rotateX(360deg);translateZ(0px);}

}

.mydiv{

position: absolute;

width: 300px;

height: 300px;

opacity: 0.9;

}

.rx{

-webkit-transform:

rotateX(90deg)

translateZ(150px);

}

.ry{

-webkit-transform:

rotateY(90deg)

translateZ(150px);

}

.rz{

-webkit-transform:

rotateY(-90deg)

translateZ(150px);

}

.tx{

-webkit-transform:

rotateX(-90deg)

translateZ(150px);

}

.ty{

-webkit-transform:translateZ(150px);

}

.tz{

-webkit-transform:

rotateX(180deg)

translateZ(150px);

}

运行效果图:

20180110231624808107.jpg

原文:http://www.cnblogs.com/lexin593119348/p/6835457.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用CSS3的transform属性来实现3D金字塔的旋转效果。以下是一个简单的示例代码: HTML代码: ``` <div class="pyramid"> <div class="triangle"></div> <div class="triangle"></div> <div class="triangle"></div> <div class="triangle"></div> <div class="square"></div> </div> ``` CSS代码: ``` .pyramid { position: relative; width: 150px; height: 150px; transform-style: preserve-3d; animation: rotate-pyramid 5s linear infinite; } .triangle { position: absolute; width: 0; height: 0; border-style: solid; border-width: 75px 75px 0 0; border-color: #ffcc00 transparent transparent transparent; transform-origin: bottom center; } .triangle:nth-child(1) { transform: rotateY(0deg) translateZ(75px); } .triangle:nth-child(2) { transform: rotateY(90deg) translateZ(75px); } .triangle:nth-child(3) { transform: rotateY(-90deg) translateZ(75px); } .triangle:nth-child(4) { transform: rotateY(180deg) translateZ(75px); } .square { position: absolute; top: 75px; left: 75px; width: 75px; height: 75px; background-color: #ffcc00; transform: translateZ(75px); } @keyframes rotate-pyramid { from { transform: rotateY(0deg); } to { transform: rotateY(360deg); } } ``` 这段代码会生成一个金字塔,其中包括四个三角形和一个正方形。四个三角形分别位于金字塔的四个侧面,而正方形则位于金字塔的底部。使用transform属性来使得三角形和正方形沿着Z轴旋转。通过使用animation属性来实现金字塔的旋转效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值