这篇文章主要为大家展示了“如何使用css实现3D图像轮转效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用css实现3D图像轮转效果”这篇文章吧。
首先看html文件,div.billboard为效果的容器,利用10个div.poster分割图像,每个poster中有三个face,分别用来承载三个图像。
XML/HTML Code复制内容到剪贴板
<div class="billboard"> <div class="poster"> <div class="face panel1 p1"></div> <div class="face panel2 p1"></div> <div class="face panel3 p1"></div> </div> <div class="poster"> <div class="face panel1 p2"></div> <div class="face panel2 p2"></div> <div class="face panel3 p2"></div> </div> <div class="poster"> <div class="face panel1 p3"></div> <div class="face panel2 p3"></div> <div class="face panel3 p3"></div> </div> <div class="poster"> <div class="face panel1 p4"></div> <div class="face panel2 p4"></div> <div class="face panel3 p4"></div> </div> <div class="poster"> <div class="face panel1 p5"></div> <div class="face panel2 p5"></div> <div class="face panel3 p5"></div> </div> <div class="poster"> <div class="face panel1 p6"></div> <div class="face panel2 p6"></div> <div class="face panel3 p6"></div> </div> <div class="poster"> <div class="face panel1 p7"></div> <div class="face panel2 p7"></div> <div class="face panel3 p7"></div> </div> <div class="poster"> <div class="face panel1 p8"></div> <div class="face panel2 p8"></div> <div class="face panel3 p8"></div> </div> <div class="poster"> <div class="face panel1 p9"></div> <div class="face panel2 p9"></div> <div class="face panel3 p9"></div> </div> <div class="poster"> <div class="face panel1 p10"></div> <div class="face panel2 p10"></div> <div class="face panel3 p10"></div> </div> </div>
CSS文件这里我们用到了sass,用的是scss语法。
CSS Code复制内容到剪贴板
//变量初始化 //图像分块个数,如要更改,html需要进行相应的修改 $numPoster:10; //轮换图像个数,如要更改,html需要进行相应的修改 $numFace:3; //图像宽度 $width:600px; //图像高度 $height:320px; //盒子的设置 .billboard { width:$width; margin:100px auto; } //图像条左浮动 .poster { float:left; width:$width/$numPoster; height:$height; } //图像条面的统一设置,绝对定位、3d动画设置 .face { position:absolute; height:$height; width:$width/$numPoster; transform-origin:50% 50% -17px; backface-visibility: hidden; transform-style:preserve-3d; perspective:350px; } //图像条面分别设置背景图像、动画 @for $i from 1 through $numFace{ .poster .panel#{$i} { background:url(http://gx.zptc.cn/whqet/img/#{$i}.jpg); transform:transformY(360deg/$numFace*($i - 1)); animation: rotateMe#{$i} 10s infinite; } @keyframes rotateMe#{$i} { 0% { transform:rotateY(360deg/$numFace*($i - 1)); } 9% { transform:rotateY(360deg/$numFace*($i - 1)); } 24% { transform:rotateY(360deg/$numFace*($i)); } 42% { transform:rotateY(360deg/$numFace*($i)); } 57% { transform:rotateY(360deg/$numFace*($i + 1)); } 75% { transform:rotateY(360deg/$numFace*($i + 1)); } 90% { transform:rotateY(360deg/$numFace*($i + 2)); } 100% { transform:rotateY(360deg/$numFace*($i + 2)); } } } //图像条面的背景偏移 @for $i from 1 through $numPoster { .poster .p#{$i} {background-position:-($width/$numPoster*($i - 1)) top;} }
以上是“如何使用css实现3D图像轮转效果”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
本文名称:如何使用css实现3D图像轮转效果-创新互联
网页网址:https://www.cdcxhl.com/article38/codesp.html
成都网站建设公司_创新互联,为您提供外贸网站建设、定制网站、电子商务、商城网站、移动网站建设、动态网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联