純css實現(xiàn)3D圖像輪轉(zhuǎn)效果
發(fā)布時間:2016-03-10 10:58:50 作者:jerrylsxu
我要評論

這篇文章主要為大家詳細(xì)介紹了純css實現(xiàn)3D圖像輪轉(zhuǎn)效果,css制作的3D圖像輪轉(zhuǎn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了純css實現(xiàn)3D圖像輪轉(zhuǎn)效果的具體代碼,供大家參考,具體內(nèi)容如下
首先看html文件,div.billboard為效果的容器,利用10個div.poster分割圖像,每個poster中有三個face,分別用來承載三個圖像。
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <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復(fù)制內(nèi)容到剪貼板
- //變量初始化
- //圖像分塊個數(shù),如要更改,html需要進行相應(yīng)的修改
- $numPoster:10;
- //輪換圖像個數(shù),如要更改,html需要進行相應(yīng)的修改
- $numFace:3;
- //圖像寬度
- $width:600px;
- //圖像高度
- $height:320px;
- //盒子的設(shè)置
- .billboard {
- width:$width;
- margin:100px auto;
- }
- //圖像條左浮動
- .poster {
- float:left;
- width:$width/$numPoster;
- height:$height;
- }
- //圖像條面的統(tǒng)一設(shè)置,絕對定位、3d動畫設(shè)置
- .face {
- position:absolute;
- height:$height;
- width:$width/$numPoster;
- transform-origin:50% 50% -17px;
- backface-visibility: hidden;
- transform-style:preserve-3d;
- perspective:350px;
- }
- //圖像條面分別設(shè)置背景圖像、動畫
- @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可以使得代碼結(jié)構(gòu)清晰,邏輯性強,請大家研讀提升。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
原文:http://www.cnblogs.com/shouce/p/5256638.html
相關(guān)文章
使用CSS cross-fade()實現(xiàn)背景圖像半透明效果的示例代碼
這篇文章主要介紹了使用CSS cross-fade()實現(xiàn)背景圖像半透明效果的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07- 這篇文章主要介紹了詳解css圖像拼合技術(shù)(精靈圖)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-20
- 這篇文章主要介紹了CSS圖像替換技術(shù)的幾種方案介紹,有利于網(wǎng)頁的設(shè)計布局和修改編輯,需要的朋友可以參考下2015-09-28
- 這篇文章主要介紹了CSS實現(xiàn)圖像映射的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-08