本文詳細介紹瞭如何使用CSS自定義屬性創建迷人的視差效應,將靜態圖像轉換為動態的交互式場景。肯特·C·多德斯(Kent C. Dodds)的新網站提供了靈感,其中包含需要移動的中心形象。該解決方案僅利用兩個CSS自定義屬性--ratio-x
和--ratio-y
來控制視差效應。
核心JavaScript代碼捕獲光標位置並將其映射到可用範圍。 GSAP的mapRange()
和clamp()
函數簡化了此過程,確保值保留在-1和1範圍內。genateHandler函數可重複使用的generateHandler
偵聽器,相對於特定元素映射光標位置。然後將這些映射值設置為CSS自定義屬性。
魔法在於CSS。 calc()
將自定義屬性與其他值結合在一起,以控制各個方面,例如比例尺和色調。該示例演示了基於基於--ratio-x
--ratio-y
和色調更改量表。靈活性允許創造性控制,而無需更改核心JavaScript。
創建場景涉及將圖像分解為單個元素,這是一種類似於CSS藝術追踪的技術。這些元素以容器中的兒童表示,使用示波器自定義屬性進行了樣式。每個元素都定義了自己的運動和旋轉參數,與全局--ratio-x
和--ratio-y
值相互作用。圖像精靈通過避免多個圖像請求來優化性能。
該文章通過幾個演示進行了進展,並逐步說明了過程。它突出顯示了使用配置對象來定義元素位置,大小和轉換。響應設計是使用定位和尺寸的百分比值實現的。添加--allow-motion
可以滿足用戶更喜歡減少運動的用戶,為所有人提供更平滑的體驗。
最後,本文展示瞭如何在React組件結構中實現此技術,並利用自定義掛鉤( useParallax
)進行有效的代碼重複使用和可維護性。 React實現封裝了視差邏輯,使其很容易集成到較大的項目中。結果是完全由CSS和少量JavaScript驅動的拋光,性能視差效應。本文結束時強調圖像精靈的多功能性以及CSS自定義屬性在創建引人入勝的網絡體驗方面的力量。
以上是由CSS自定義屬性提供動力的視差的詳細內容。更多資訊請關注PHP中文網其他相關文章!

對於Astro,我們可以在構建過程中生成大部分網站,但是有一小部分服務器端代碼可以使用Fuse.js之類的搜索功能來處理搜索功能。在此演示中,我們將使用保險絲搜索一組個人“書籤”


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。