css實現視覺差的滾動


  之前在逛知乎的時候,發現知乎app首頁中偶爾摻雜的廣告圖片,都是做的視覺差的效果,廣告圖片的向上速度明顯比外面頁面的上拉速度慢了很多,看起來很炫酷,然后在網上看了下,發現有很多js插件可以實現這種效果。這種就不提了,這次我們是考慮的用css寫。(當然,ie是不兼容的)

  這邊參考了張鑫旭大神的一篇文章。  視覺差-張鑫旭

  這邊是我參考之后做的demo:   demo 

  主要的代碼就是 

    外層容器: perspective: 1px;     定義3d元素離視圖的距離

    中間元素: transform-style: preserve-3d;    定義3d空間。

    需要視覺差的元素:  transform: translateZ(-1px ) scale(2)

 

  這里面大體的原理就是:  因為定義了視圖距離為1px,那么translateZ -1px的話,我們肉眼看這個圖片就只有之前的一半大小,這個時候scale(2)的話,就放大了2倍,視覺上就和原來的一樣大小,但是滾動的時候,位移的變化還是1:2,這樣就形成了視覺差。

  如果更改translateZ的話,那么視覺效果就會越來越遠,圖片的移動就會越來越不明顯。 這樣就可以模擬不同的需求。


免責聲明!

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



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