>本文探討了滾動動畫,專門針對“滾動觸發”,這是一種技術,一旦用戶滾動就可以激活特定點,則動畫會激活。 雖然目前缺乏本機CSS支持,但我們可以使用巧妙的CSS技術來實現此效果,從而創建一個僅使用CSS的JavaScript庫,例如WOW.JS。 這種方法利用animation-timeline
屬性,自定義屬性和样式查詢。
>現有的滾動動畫解決方案在向上滾動時通常會反向動畫,這與WOW.J.中所需的“一對”行為不同。 此限制啟發了創建“ web-slinger.css”,一個純CSS庫模仿wow.js功能。
> web-slinger.css:僅CSS僅滾動動畫庫
>> web-slinger.css使用.scroll-trigger-n
>和.on-scroll-trigger-n
的類,以及自定義屬性(--scroll-trigger-n
)來管理動畫。 這種方法將動畫從動畫元素中觸發,提供靈活性。
>觸發來自Animate.css的“ Flipiny”動畫。 更複雜的示例,例如演示中的“ cownter”,演示了從單個滾動點觸發多個動畫。 .scroll-trigger-8
<div> <h2></h2> <div> <br><br><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">? Play again</a> </div> </div>及其CSS利用樣式查詢動態內容更新:
演示將web-slinger.css用作外部資源。
.header { .cownter::after { --cownter: calc(var(--scroll-trigger-2) + var(--scroll-trigger-4) + var(--scroll-trigger-8) + var(--scroll-trigger-11)); --pluralised-cow: 'cows'; counter-set: cownter var(--cownter); content: "Have " counter(cownter) " " var(--pluralised-cow) ", man"; } @container style(--scroll-trigger-2: 1) and style(--scroll-trigger-4: 0) { .cownter::after { --pluralised-cow: 'cow'; } } a { text-decoration: none; color: blue; } } :root:has(.reset:active) * { animation-name: none; }> web-slinger.css實現詳細信息
核心概念涉及使用
作為動畫時間表來創建永久固定元素。 然後,樣式查詢和自定義屬性基於此固定元素的可見性控制其他動畫。
>該技術避免了直接對用戶可見的元素進行動畫動畫,而是將固定元素作為觸發器。 命名查看進度時間表()將固定元素鏈接到要動畫的元素。
view()
>查看CSS代碼timeline-scope
/** Each trigger element toggles `--scroll-trigger-n` from 0 to 1, unpausing animations on `.on-scroll-trigger-n` **/ :root { animation-name: run-scroll-trigger-1, run-scroll-trigger-2 /*etc*/; animation-duration: 1ms; animation-fill-mode: forwards; animation-timeline: --trigger-timeline-1, --trigger-timeline-2 /*etc*/; timeline-scope: --trigger-timeline-1, --trigger-timeline-2 /*etc*/; } @property --scroll-trigger-1 { syntax: "<integer>"; initial-value: 0; inherits: true; } @keyframes run-scroll-trigger-1 { to { --scroll-trigger-1: 1; } } /** Animate elements only when `.scroll-trigger-1` is in view **/ .on-scroll-trigger-1 { animation-play-state: paused; } @container style(--scroll-trigger-1: 1) { .on-scroll-trigger-1 { animation-play-state: running; } } /** Trigger element, fixed to top, activating animations **/ .scroll-trigger-1 { view-timeline-name: --trigger-timeline-1; }</integer>
> Web-slinger.css雖然功能性,但會生成帶有更多觸發器的較大的CSS文件。 編號的班級名稱缺乏語義清晰度。 理想情況下,本機瀏覽器支持將允許使用ID鏈接觸發器和目標,類似於假設的屬性。
捲軸觸發的動畫的未來在於本機瀏覽器支持。 可以採用類似於web-slinger.css的聲明性方法進行標準化。
以上是web-slinger.css:像wow.js一樣,但是帶有CSS-y滾動動畫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

SVG具有自己的一套元素,屬性和屬性集,以至於內聯SVG代碼可能會變得漫長而復雜。通過利用CSS和SVG 2規範的一些即將到來的功能,我們可以減少該代碼以進行清潔標記。

PWA(Progressive Web應用程序)已經與我們在一起了一段時間。但是,每次我嘗試向客戶解釋它時,同樣的問題都會出現:“我的用戶會成為


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

WebStorm Mac版
好用的JavaScript開發工具

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

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中