CSS 實現(xiàn)視覺滾動差,是采用了一種技術,使頁面可以隨著滾動條的滾動而產生不同速度和不同方向的動態(tài)效果。
實現(xiàn)視覺滾動差有許多方法,其中一種常用的方法就是使用 background-attachment 屬性。background-attachment 用于設置背景圖像的滾動方式,其屬性值有 scroll、fixed 和 local。其中 local 值是當元素滾動時,背景圖像也會相對移動,實現(xiàn)視覺滾動差。
.parallax { background: url(bg.jpg) no-repeat center center fixed; background-size: cover; height: 100vh; position: relative; overflow: hidden; } .parallax .overlay { background-color: rgba(0, 0, 0, 0.6); position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .parallax .content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 30px; font-weight: bold; } .parallax:nth-child(even) { background-attachment: fixed; } .parallax:nth-child(odd) { background-attachment: local; background-position: 50% 0; transform: translate3d(0, 0, 0); perspective: 1000px; } .parallax:nth-child(odd) .content { transform: translate(0, -50%) translateZ(-100px); transition: transform 0.5s ease; } .parallax:nth-child(odd):hover .content { transform: translate(0, -50%) translateZ(-400px); }
在上述代碼中,我們設置了一個具有視覺滾動差效果的背景。我們使用了一個由幾個獨立的容器組成的結構,在偶數容器中使用了固定的背景圖片,而在奇數容器中,我們使用了本地滾動模式,以實現(xiàn)視覺滾動差。
同時,我們還使用了 transform 屬性和 perspective 屬性,為頁面添加了更多的動態(tài)效果。當鼠標懸停在奇數容器上時,使用了 transition 屬性,使頁面的動態(tài)效果更加生動,突出了頁面設計的美感。