纯css实现3D图像轮转效果
发布时间:2016-03-10 10:58:50 作者:jerrylsxu 我要评论
这篇文章主要为大家详细介绍了纯css实现3D图像轮转效果,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;}
- }
使用sass可以使得代码结构清晰,逻辑性强,请大家研读提升。
以上就是本文的全部内容,希望对大家的学习有所帮助。
原文:http://www.cnblogs.com/shouce/p/5256638.html
相关文章
使用CSS cross-fade()实现背景图像半透明效果的示例代码
这篇文章主要介绍了使用CSS cross-fade()实现背景图像半透明效果的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07- 这篇文章主要介绍了详解css图像拼合技术(精灵图)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-20
- 这篇文章主要介绍了CSS图像替换技术的几种方案介绍,有利于网页的设计布局和修改编辑,需要的朋友可以参考下2015-09-28
- 这篇文章主要介绍了CSS实现图像映射的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-08
最新评论