您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么用CSS3實現全景圖特效”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
首先定義一些基本的樣式和動畫
.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,添加以下樣式。
.panorama:hover,
.panorama:focus {
animation: panorama 10s linear infinite alternate;
}
復制代碼
現在的效果是:鼠標移入圖片,圖片開始水平來回滑動。
動畫的優化
雖然效果達到了,但是你會發現,當鼠標移出圖片,圖片立刻回到初始位置。
對于我們來說,這有點突然,如何記錄圖片當前的位置并且當鼠標移入時繼續執行動畫呢?
我們可以依靠這個屬性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;
}
}
“怎么用CSS3實現全景圖特效”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。