怎么使用css实现3D图像轮转效果

这篇文章主要介绍“怎么使用css实现3D图像轮转效果”,在日常操作中,相信很多人在怎么使用css实现3D图像轮转效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用css实现3D图像轮转效果”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联是专业的西城网站建设公司,西城接单;提供成都网站建设、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行西城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

首先看html文件,div.billboard为效果的容器,利用10个div.poster分割图像,每个poster中有三个face,分别用来承载三个图像。

XML/HTML Code复制内容到剪贴板

     
         
        
              
              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

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图像轮转效果
URL分享:http://lszwz.com/article/pogigg.html

售后响应及时

7×24小时客服热线

数据备份

更安全、更高效、更稳定

价格公道精准

项目经理精准报价不弄虚作假

合作无风险

重合同讲信誉,无效全额退款