最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

人人都能读懂的css33d小demo

来源:懂视网 责编:小采 时间:2020-11-27 18:53:12
文档

人人都能读懂的css33d小demo

人人都能读懂的css33d小demo:css3 3d案例总结最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家。就把最近做的比较好的给大家分享下1.旋转拼图首先看下效果代码主要由HTML和CSS3组成,应该说还是比较简单的。首先是HTML代码: <p class="camera&quo
推荐度:
导读人人都能读懂的css33d小demo:css3 3d案例总结最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家。就把最近做的比较好的给大家分享下1.旋转拼图首先看下效果代码主要由HTML和CSS3组成,应该说还是比较简单的。首先是HTML代码: <p class="camera&quo
css3 3d案例总结

最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家。就把最近做的比较好的给大家分享下

1.旋转拼图

首先看下效果


人人都能读懂的css3 3d小demo

代码主要由HTML和CSS3组成,应该说还是比较简单的。

首先是HTML代码:

 <p class="camera" id="camera">
 <p class="kuai">
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 </p>

 <p class="kuai">
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 </p>

 <p class="kuai">
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 </p>

 <p class="kuai">
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 </p>

 <p class="kuai">
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 <p class="mian"></p>
 </p>
 </p>

这里用了3层p的HTML框架,层次非常清晰。
接下来重点是CSS代码,如何用CSS3的特性来实现3d和滚动效果,从来让其看起来呈3D的状态。

body{ background: red;}/*对于相机元素*/.camera{ perspective: 800px;/*这个属性是视距(景深),就是目测的距离*/
 width: 500px; height: 300px; margin: auto; transform-style: preserve-3d;/*该属性规定如何在 3D 空间中呈现被嵌套的元素。preserve-3d子元素将保留其 3D 位置。*/}/*对于模块元素*/.kuai{ width: 100px; height: 300px; margin: 50px auto; float: left; transform-style: preserve-3d; position: relative; transition:transform 1s; margin-left: -1px;}/*对于模块的每个面元素*/.kuai:nth-of-type(2)>.mian{ background-position: -100px 0;}.kuai:nth-of-type(3)>.mian{ background-position: -200px 0;}.kuai:nth-of-type(4)>.mian{ background-position: -300px 0;}.kuai:nth-of-type(5)>.mian{ background-position: -400px 0;}.kuai:nth-of-type(6)>.mian{ background-position: -500px 0;}.mian{ width: 100px; height: 300px; position: absolute; font-size:100px; text-align: center; line-height: 300px; transform-style: preserve-3d; background-color: black; backface-visibility: hidden;}.mian:nth-of-type(1){ transform: translateZ(150px); background:url(../images/pic1.jpg) no-repeat; background-size: 500px 100%;}.mian:nth-of-type(2){ transform: translateZ(-150px) rotateX(180deg); background:url(../images/pic2.png) no-repeat; background-size: 500px 100%;}.mian:nth-of-type(3){ width: 300px; transform: rotateY(-90deg) translateZ(150px);/*3d中transform属性是关键的,它主要是靠旋转 移动 缩放来变形实现的*/}.mian:nth-of-type(4){ width: 300px; transform: rotateY(90deg) translateZ(-50px);}.mian:nth-of-type(5){ transform: rotateX(90deg) translateZ(150px); background:url(../images/pic3.jpg) no-repeat; background-size: 500px 100%;}.mian:nth-of-type(6){ transform: rotateX(-90deg) translateZ(150px); background:url(../images/pic4.jpg) no-repeat; background-size: 500px 100%;}

最后就是js

window.onload=function() { var camera=document.getElementById('camera'); var kuais=camera.getElementsByClassName('kuai'); var chishu=0; var geshu=5;
 camera.onclick=function() {
 chishu++; for(var i=0;i<geshu;i++){
 kuais[i].style="transition:transform 1s "+100*i+"ms;transform:rotateX("+chishu*90+"deg)";
 }
 }
}

这里有个属性没用到 transform-origin,它是用来改变元素的原点位置,可以不设置。如图
人人都能读懂的css3 3d小demo
同理,还可以设置为:transform-origin:top right(右上角为原点)、transform-origin:bottom right(右下角为原点)、transform-origin:bottom left(左下角为原点)

总结

总而言之,在我学习CSS3的过程中,见到了不少的新特性,也学会了如何使用,但是我想说的是我们不管要学会怎么使用,更要去理解每一行代码为什么产生对应的效果,特别是对于3D transform,我们要从根本去理解了3D空间,才能更好的去掌握它的每一个属性值能够带来的效果。

更多人人都能读懂的css3 3d小demo相关文章请关注PHP中文网!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

人人都能读懂的css33d小demo

人人都能读懂的css33d小demo:css3 3d案例总结最近入坑 Web 动画,所以把自己的学习过程记录一下分享给大家。就把最近做的比较好的给大家分享下1.旋转拼图首先看下效果代码主要由HTML和CSS3组成,应该说还是比较简单的。首先是HTML代码: <p class="camera&quo
推荐度:
标签: 可以 3d 的3d
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top