CSS3實現全景圖特效


基本代碼

html代碼:

<div class="panorama"></div>

首先定義一些基本的樣式和動畫:

.panorama {
  width: 300px;
  height: 300px;
  background-image: url(http://7vilbi.com1.z0.glb.clouddn.com/blog/6608185829213862083.jpg);
  background-size: auto 100%;
  cursor: pointer;
  animation: panorama 10s linear infinite alternate;
}

@keyframes panorama {
  to {
    background-position: 100% 0;
  }
}

background-size: auto 100%; 這段代碼的意思是讓圖片的高等於容器的高,並且水平方向自動,即圖片最左邊貼着容器左側。

執行動畫的流程是:周而復始、往復交替、線性並且時間周期是10s。

手動控制動畫執行

現在我們實現當鼠標懸浮於圖片時才讓它動起來,鼠標離開讓它靜止。

需要用到這個屬性animation-play-state: paused | running,它表示動畫的兩個狀態:暫停和運行。

完整CSS代碼:

.panorama {
  width: 300px;
  height: 300px;
  background-image: url(http://7vilbi.com1.z0.glb.clouddn.com/blog/6608185829213862083.jpg);
  background-size: auto 100%;
  cursor: pointer;
  animation: panorama 10s linear infinite alternate;
  animation-play-state: paused;
}

.panorama:hover,
.panorama:focus {
  animation-play-state: running;
}

@keyframes panorama {
  to {
    background-position: 100% 0;
  }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM